Main Page | Modules | Data Structures | File List | Data Fields | Globals | Related Pages

svn_wc_diff_callbacks2_t Struct Reference

A callback vtable invoked by our diff-editors, as they receive diffs from the server. More...

#include <svn_wc.h>


Data Fields

svn_error_t *(* file_changed )(svn_wc_adm_access_t *adm_access, svn_wc_notify_state_t *contentstate, svn_wc_notify_state_t *propstate, const char *path, const char *tmpfile1, const char *tmpfile2, svn_revnum_t rev1, svn_revnum_t rev2, const char *mimetype1, const char *mimetype2, const apr_array_header_t *propchanges, apr_hash_t *originalprops, void *diff_baton)
 A file path has changed.

svn_error_t *(* file_added )(svn_wc_adm_access_t *adm_access, svn_wc_notify_state_t *contentstate, svn_wc_notify_state_t *propstate, const char *path, const char *tmpfile1, const char *tmpfile2, svn_revnum_t rev1, svn_revnum_t rev2, const char *mimetype1, const char *mimetype2, const apr_array_header_t *propchanges, apr_hash_t *originalprops, void *diff_baton)
 A file path was added.

svn_error_t *(* file_deleted )(svn_wc_adm_access_t *adm_access, svn_wc_notify_state_t *state, const char *path, const char *tmpfile1, const char *tmpfile2, const char *mimetype1, const char *mimetype2, apr_hash_t *originalprops, void *diff_baton)
 A file path was deleted.

svn_error_t *(* dir_added )(svn_wc_adm_access_t *adm_access, svn_wc_notify_state_t *state, const char *path, svn_revnum_t rev, void *diff_baton)
 A directory path was added.

svn_error_t *(* dir_deleted )(svn_wc_adm_access_t *adm_access, svn_wc_notify_state_t *state, const char *path, void *diff_baton)
 A directory path was deleted.

svn_error_t *(* dir_props_changed )(svn_wc_adm_access_t *adm_access, svn_wc_notify_state_t *state, const char *path, const apr_array_header_t *propchanges, apr_hash_t *original_props, void *diff_baton)
 A list of property changes (propchanges) was applied to the directory path.


Detailed Description

A callback vtable invoked by our diff-editors, as they receive diffs from the server.

'svn diff' and 'svn merge' both implement their own versions of this table.

Since:
New in 1.2.

Definition at line 775 of file svn_wc.h.


Field Documentation

svn_error_t*(* svn_wc_diff_callbacks2_t::dir_added)(svn_wc_adm_access_t *adm_access, svn_wc_notify_state_t *state, const char *path, svn_revnum_t rev, void *diff_baton)
 

A directory path was added.

rev is the revision that the directory came from.

adm_access will be an access baton for the directory containing path, or NULL if the diff editor is not using access batons.

svn_error_t*(* svn_wc_diff_callbacks2_t::dir_deleted)(svn_wc_adm_access_t *adm_access, svn_wc_notify_state_t *state, const char *path, void *diff_baton)
 

A directory path was deleted.

adm_access will be an access baton for the directory containing path, or NULL if the diff editor is not using access batons.

If state is non-null, set *state to the state of the item after the delete operation has been performed. (In practice, this is only useful with merge, not diff; diff callbacks will probably set *state to svn_wc_notify_state_unknown, since they do not change the state and therefore do not bother to know the state after the operation.)

svn_error_t*(* svn_wc_diff_callbacks2_t::dir_props_changed)(svn_wc_adm_access_t *adm_access, svn_wc_notify_state_t *state, const char *path, const apr_array_header_t *propchanges, apr_hash_t *original_props, void *diff_baton)
 

A list of property changes (propchanges) was applied to the directory path.

The array is a list of (svn_prop_t) structures.

The original list of properties is provided in original_props, which is a hash of svn_string_t values, keyed on the property name.

adm_access will be an access baton for the directory containing path, or NULL if the diff editor is not using access batons.

If state is non-null, set *state to the state of the properties after the operation has been performed. (In practice, this is only useful with merge, not diff; diff callbacks will probably set *state to svn_wc_notify_state_unknown, since they do not change the state and therefore do not bother to know the state after the operation.)

svn_error_t*(* svn_wc_diff_callbacks2_t::file_added)(svn_wc_adm_access_t *adm_access, svn_wc_notify_state_t *contentstate, svn_wc_notify_state_t *propstate, const char *path, const char *tmpfile1, const char *tmpfile2, svn_revnum_t rev1, svn_revnum_t rev2, const char *mimetype1, const char *mimetype2, const apr_array_header_t *propchanges, apr_hash_t *originalprops, void *diff_baton)
 

A file path was added.

The contents can be seen by comparing tmpfile1 and tmpfile2, which represent rev1 and rev2 of the file, respectively. (If either file is empty, the rev will be 0.)

If known, the svn:mime-type value of each file is passed into mimetype1 and mimetype2; either or both of the values can be NULL. The implementor can use this information to decide if (or how) to generate differences.

propchanges is an array of (svn_prop_t) structures. If it contains any elements, the original list of properties is provided in originalprops, which is a hash of svn_string_t values, keyed on the property name.

adm_access will be an access baton for the directory containing path, or NULL if the diff editor is not using access batons.

If contentstate is non-null, set *contentstate to the state of the file contents after the operation has been performed. The same applies for propstate regarding the property changes. (In practice, this is only useful with merge, not diff; diff callbacks will probably set *contentstate and *propstate to svn_wc_notify_state_unknown, since they do not change the state and therefore do not bother to know the state after the operation.)

svn_error_t*(* svn_wc_diff_callbacks2_t::file_changed)(svn_wc_adm_access_t *adm_access, svn_wc_notify_state_t *contentstate, svn_wc_notify_state_t *propstate, const char *path, const char *tmpfile1, const char *tmpfile2, svn_revnum_t rev1, svn_revnum_t rev2, const char *mimetype1, const char *mimetype2, const apr_array_header_t *propchanges, apr_hash_t *originalprops, void *diff_baton)
 

A file path has changed.

If tmpfile2 is non-null, the contents have changed and those changes can be seen by comparing tmpfile1 and tmpfile2, which represent rev1 and rev2 of the file, respectively.

If known, the svn:mime-type value of each file is passed into mimetype1 and mimetype2; either or both of the values can be NULL. The implementor can use this information to decide if (or how) to generate differences.

propchanges is an array of (svn_prop_t) structures. If it has any elements, the original list of properties is provided in originalprops, which is a hash of svn_string_t values, keyed on the property name.

adm_access will be an access baton for the directory containing path, or NULL if the diff editor is not using access batons.

If contentstate is non-null, set *contentstate to the state of the file contents after the operation has been performed. The same applies for propstate regarding the property changes. (In practice, this is only useful with merge, not diff; diff callbacks will probably set *contentstate and *propstate to svn_wc_notify_state_unknown, since they do not change the state and therefore do not bother to know the state after the operation.)

svn_error_t*(* svn_wc_diff_callbacks2_t::file_deleted)(svn_wc_adm_access_t *adm_access, svn_wc_notify_state_t *state, const char *path, const char *tmpfile1, const char *tmpfile2, const char *mimetype1, const char *mimetype2, apr_hash_t *originalprops, void *diff_baton)
 

A file path was deleted.

The [loss of] contents can be seen by comparing tmpfile1 and tmpfile2. originalprops provides the properties of the file.

If known, the svn:mime-type value of each file is passed into mimetype1 and mimetype2; either or both of the values can be NULL. The implementor can use this information to decide if (or how) to generate differences.

adm_access will be an access baton for the directory containing path, or NULL if the diff editor is not using access batons.

If state is non-null, set *state to the state of the item after the delete operation has been performed. (In practice, this is only useful with merge, not diff; diff callbacks will probably set *state to svn_wc_notify_state_unknown, since they do not change the state and therefore do not bother to know the state after the operation.)


The documentation for this struct was generated from the following file:
Generated on Mon Jun 19 20:42:20 2006 for Subversion by doxygen 1.3.5