Subversion
Functions
Diffs
Working copy management

Functions

svn_error_tsvn_wc_get_diff_editor6 (const svn_delta_editor_t **editor, void **edit_baton, svn_wc_context_t *wc_ctx, const char *anchor_abspath, const char *target, svn_depth_t depth, svn_boolean_t ignore_ancestry, svn_boolean_t show_copies_as_adds, svn_boolean_t use_git_diff_format, svn_boolean_t use_text_base, svn_boolean_t reverse_order, svn_boolean_t server_performs_filtering, const apr_array_header_t *changelist_filter, const svn_wc_diff_callbacks4_t *callbacks, void *callback_baton, svn_cancel_func_t cancel_func, void *cancel_baton, apr_pool_t *result_pool, apr_pool_t *scratch_pool)
 Return an editor/edit_baton for diffing a working copy against the repository.
svn_error_tsvn_wc_get_diff_editor5 (svn_wc_adm_access_t *anchor, const char *target, const svn_wc_diff_callbacks3_t *callbacks, void *callback_baton, svn_depth_t depth, svn_boolean_t ignore_ancestry, svn_boolean_t use_text_base, svn_boolean_t reverse_order, svn_cancel_func_t cancel_func, void *cancel_baton, const apr_array_header_t *changelist_filter, const svn_delta_editor_t **editor, void **edit_baton, apr_pool_t *pool)
 Similar to svn_wc_get_diff_editor6(), but with an access baton and relative path.
svn_error_tsvn_wc_get_diff_editor4 (svn_wc_adm_access_t *anchor, const char *target, const svn_wc_diff_callbacks2_t *callbacks, void *callback_baton, svn_depth_t depth, svn_boolean_t ignore_ancestry, svn_boolean_t use_text_base, svn_boolean_t reverse_order, svn_cancel_func_t cancel_func, void *cancel_baton, const apr_array_header_t *changelist_filter, const svn_delta_editor_t **editor, void **edit_baton, apr_pool_t *pool)
 Similar to svn_wc_get_diff_editor5(), but with an svn_wc_diff_callbacks2_t instead of svn_wc_diff_callbacks3_t.
svn_error_tsvn_wc_get_diff_editor3 (svn_wc_adm_access_t *anchor, const char *target, const svn_wc_diff_callbacks2_t *callbacks, void *callback_baton, svn_boolean_t recurse, svn_boolean_t ignore_ancestry, svn_boolean_t use_text_base, svn_boolean_t reverse_order, svn_cancel_func_t cancel_func, void *cancel_baton, const svn_delta_editor_t **editor, void **edit_baton, apr_pool_t *pool)
 Similar to svn_wc_get_diff_editor4(), but with changelist_filter passed as NULL, and depth set to svn_depth_infinity if recurse is TRUE, or svn_depth_files if recurse is FALSE.
svn_error_tsvn_wc_get_diff_editor2 (svn_wc_adm_access_t *anchor, const char *target, const svn_wc_diff_callbacks_t *callbacks, void *callback_baton, svn_boolean_t recurse, svn_boolean_t ignore_ancestry, svn_boolean_t use_text_base, svn_boolean_t reverse_order, svn_cancel_func_t cancel_func, void *cancel_baton, const svn_delta_editor_t **editor, void **edit_baton, apr_pool_t *pool)
 Similar to svn_wc_get_diff_editor3(), but with an svn_wc_diff_callbacks_t instead of svn_wc_diff_callbacks2_t.
svn_error_tsvn_wc_get_diff_editor (svn_wc_adm_access_t *anchor, const char *target, const svn_wc_diff_callbacks_t *callbacks, void *callback_baton, svn_boolean_t recurse, svn_boolean_t use_text_base, svn_boolean_t reverse_order, svn_cancel_func_t cancel_func, void *cancel_baton, const svn_delta_editor_t **editor, void **edit_baton, apr_pool_t *pool)
 Similar to svn_wc_get_diff_editor2(), but with ignore_ancestry always set to FALSE.
svn_error_tsvn_wc_diff6 (svn_wc_context_t *wc_ctx, const char *target_abspath, const svn_wc_diff_callbacks4_t *callbacks, void *callback_baton, svn_depth_t depth, svn_boolean_t ignore_ancestry, svn_boolean_t show_copies_as_adds, svn_boolean_t use_git_diff_format, const apr_array_header_t *changelist_filter, svn_cancel_func_t cancel_func, void *cancel_baton, apr_pool_t *scratch_pool)
 Compare working copy against the text-base.
svn_error_tsvn_wc_diff5 (svn_wc_adm_access_t *anchor, const char *target, const svn_wc_diff_callbacks3_t *callbacks, void *callback_baton, svn_depth_t depth, svn_boolean_t ignore_ancestry, const apr_array_header_t *changelist_filter, apr_pool_t *pool)
 Similar to svn_wc_diff6(), but with a svn_wc_diff_callbacks3_t argument instead of svn_wc_diff_callbacks4_t, show_copies_as_adds, and use_git_diff_format set to * FALSE.
svn_error_tsvn_wc_diff4 (svn_wc_adm_access_t *anchor, const char *target, const svn_wc_diff_callbacks2_t *callbacks, void *callback_baton, svn_depth_t depth, svn_boolean_t ignore_ancestry, const apr_array_header_t *changelist_filter, apr_pool_t *pool)
 Similar to svn_wc_diff5(), but with a svn_wc_diff_callbacks2_t argument instead of svn_wc_diff_callbacks3_t.
svn_error_tsvn_wc_diff3 (svn_wc_adm_access_t *anchor, const char *target, const svn_wc_diff_callbacks2_t *callbacks, void *callback_baton, svn_boolean_t recurse, svn_boolean_t ignore_ancestry, apr_pool_t *pool)
 Similar to svn_wc_diff4(), but with changelist_filter passed NULL, and depth set to svn_depth_infinity if recurse is TRUE, or svn_depth_files if recurse is FALSE.
svn_error_tsvn_wc_diff2 (svn_wc_adm_access_t *anchor, const char *target, const svn_wc_diff_callbacks_t *callbacks, void *callback_baton, svn_boolean_t recurse, svn_boolean_t ignore_ancestry, apr_pool_t *pool)
 Similar to svn_wc_diff3(), but with a svn_wc_diff_callbacks_t argument instead of svn_wc_diff_callbacks2_t.
svn_error_tsvn_wc_diff (svn_wc_adm_access_t *anchor, const char *target, const svn_wc_diff_callbacks_t *callbacks, void *callback_baton, svn_boolean_t recurse, apr_pool_t *pool)
 Similar to svn_wc_diff2(), but with ignore_ancestry always set to FALSE.
svn_error_tsvn_wc_get_prop_diffs2 (apr_array_header_t **propchanges, apr_hash_t **original_props, svn_wc_context_t *wc_ctx, const char *local_abspath, apr_pool_t *result_pool, apr_pool_t *scratch_pool)
 Given a local_abspath to a file or directory under version control, discover any local changes made to properties and/or the set of 'pristine' properties.
svn_error_tsvn_wc_get_prop_diffs (apr_array_header_t **propchanges, apr_hash_t **original_props, const char *path, svn_wc_adm_access_t *adm_access, apr_pool_t *pool)
 Similar to svn_wc_get_prop_diffs2(), but with a svn_wc_adm_access_t / relative path parameter pair.

Function Documentation

svn_error_t* svn_wc_diff ( svn_wc_adm_access_t anchor,
const char *  target,
const svn_wc_diff_callbacks_t callbacks,
void *  callback_baton,
svn_boolean_t  recurse,
apr_pool_t *  pool 
)

Similar to svn_wc_diff2(), but with ignore_ancestry always set to FALSE.

Deprecated:
Provided for backward compatibility with the 1.0 API.
svn_error_t* svn_wc_diff2 ( svn_wc_adm_access_t anchor,
const char *  target,
const svn_wc_diff_callbacks_t callbacks,
void *  callback_baton,
svn_boolean_t  recurse,
svn_boolean_t  ignore_ancestry,
apr_pool_t *  pool 
)

Similar to svn_wc_diff3(), but with a svn_wc_diff_callbacks_t argument instead of svn_wc_diff_callbacks2_t.

Since:
New in 1.1.
Deprecated:
Provided for backward compatibility with the 1.1 API.
svn_error_t* svn_wc_diff3 ( svn_wc_adm_access_t anchor,
const char *  target,
const svn_wc_diff_callbacks2_t callbacks,
void *  callback_baton,
svn_boolean_t  recurse,
svn_boolean_t  ignore_ancestry,
apr_pool_t *  pool 
)

Similar to svn_wc_diff4(), but with changelist_filter passed NULL, and depth set to svn_depth_infinity if recurse is TRUE, or svn_depth_files if recurse is FALSE.

Since:
New in 1.2.
Deprecated:
Provided for backward compatibility with the 1.4 API.
svn_error_t* svn_wc_diff4 ( svn_wc_adm_access_t anchor,
const char *  target,
const svn_wc_diff_callbacks2_t callbacks,
void *  callback_baton,
svn_depth_t  depth,
svn_boolean_t  ignore_ancestry,
const apr_array_header_t *  changelist_filter,
apr_pool_t *  pool 
)

Similar to svn_wc_diff5(), but with a svn_wc_diff_callbacks2_t argument instead of svn_wc_diff_callbacks3_t.

Since:
New in 1.5.
Deprecated:
Provided for backward compatibility with the 1.5 API.
svn_error_t* svn_wc_diff5 ( svn_wc_adm_access_t anchor,
const char *  target,
const svn_wc_diff_callbacks3_t callbacks,
void *  callback_baton,
svn_depth_t  depth,
svn_boolean_t  ignore_ancestry,
const apr_array_header_t *  changelist_filter,
apr_pool_t *  pool 
)

Similar to svn_wc_diff6(), but with a svn_wc_diff_callbacks3_t argument instead of svn_wc_diff_callbacks4_t, show_copies_as_adds, and use_git_diff_format set to * FALSE.

It also doesn't allow specifying a cancel function.

Since:
New in 1.6.
Deprecated:
Provided for backward compatibility with the 1.6 API.
svn_error_t* svn_wc_diff6 ( svn_wc_context_t wc_ctx,
const char *  target_abspath,
const svn_wc_diff_callbacks4_t callbacks,
void *  callback_baton,
svn_depth_t  depth,
svn_boolean_t  ignore_ancestry,
svn_boolean_t  show_copies_as_adds,
svn_boolean_t  use_git_diff_format,
const apr_array_header_t *  changelist_filter,
svn_cancel_func_t  cancel_func,
void *  cancel_baton,
apr_pool_t *  scratch_pool 
)

Compare working copy against the text-base.

target_abspath represents the base of the hierarchy to be compared.

callbacks/callback_baton is the callback table to use when two files are to be compared.

If depth is svn_depth_empty, just diff exactly target_path. If svn_depth_files then do the same and for top-level file entries as well (if any). If svn_depth_immediates, do the same as svn_depth_files but also diff top-level subdirectories at svn_depth_empty. If svn_depth_infinity, then diff fully recursively.

ignore_ancestry determines whether paths that have discontinuous node ancestry are treated as delete/add or as simple modifications. If ignore_ancestry is FALSE, then any discontinuous node ancestry will result in the diff given as a full delete followed by an add.

show_copies_as_adds determines whether paths added with history will appear as a diff against their copy source, or whether such paths will appear as if they were newly added in their entirety.

If use_git_diff_format is TRUE, copied paths will be treated as added if they weren't modified after being copied. This allows the callbacks to generate appropriate --git diff headers for such files.

changelist_filter is an array of const char * changelist names, used as a restrictive filter on items whose differences are reported; that is, don't generate diffs about any item unless it's a member of one of those changelists. If changelist_filter is empty (or altogether NULL), no changelist filtering occurs.

If cancel_func is non-NULL, invoke it with cancel_baton at various points during the operation. If it returns an error (typically SVN_ERR_CANCELLED), return that error immediately.

Since:
New in 1.7.
svn_error_t* svn_wc_get_diff_editor ( svn_wc_adm_access_t anchor,
const char *  target,
const svn_wc_diff_callbacks_t callbacks,
void *  callback_baton,
svn_boolean_t  recurse,
svn_boolean_t  use_text_base,
svn_boolean_t  reverse_order,
svn_cancel_func_t  cancel_func,
void *  cancel_baton,
const svn_delta_editor_t **  editor,
void **  edit_baton,
apr_pool_t *  pool 
)

Similar to svn_wc_get_diff_editor2(), but with ignore_ancestry always set to FALSE.

Deprecated:
Provided for backward compatibility with the 1.0 API.
svn_error_t* svn_wc_get_diff_editor2 ( svn_wc_adm_access_t anchor,
const char *  target,
const svn_wc_diff_callbacks_t callbacks,
void *  callback_baton,
svn_boolean_t  recurse,
svn_boolean_t  ignore_ancestry,
svn_boolean_t  use_text_base,
svn_boolean_t  reverse_order,
svn_cancel_func_t  cancel_func,
void *  cancel_baton,
const svn_delta_editor_t **  editor,
void **  edit_baton,
apr_pool_t *  pool 
)

Similar to svn_wc_get_diff_editor3(), but with an svn_wc_diff_callbacks_t instead of svn_wc_diff_callbacks2_t.

Deprecated:
Provided for backward compatibility with the 1.1 API.
svn_error_t* svn_wc_get_diff_editor3 ( svn_wc_adm_access_t anchor,
const char *  target,
const svn_wc_diff_callbacks2_t callbacks,
void *  callback_baton,
svn_boolean_t  recurse,
svn_boolean_t  ignore_ancestry,
svn_boolean_t  use_text_base,
svn_boolean_t  reverse_order,
svn_cancel_func_t  cancel_func,
void *  cancel_baton,
const svn_delta_editor_t **  editor,
void **  edit_baton,
apr_pool_t *  pool 
)

Similar to svn_wc_get_diff_editor4(), but with changelist_filter passed as NULL, and depth set to svn_depth_infinity if recurse is TRUE, or svn_depth_files if recurse is FALSE.

Deprecated:
Provided for backward compatibility with the 1.4 API.
Since:
New in 1.2.
svn_error_t* svn_wc_get_diff_editor4 ( svn_wc_adm_access_t anchor,
const char *  target,
const svn_wc_diff_callbacks2_t callbacks,
void *  callback_baton,
svn_depth_t  depth,
svn_boolean_t  ignore_ancestry,
svn_boolean_t  use_text_base,
svn_boolean_t  reverse_order,
svn_cancel_func_t  cancel_func,
void *  cancel_baton,
const apr_array_header_t *  changelist_filter,
const svn_delta_editor_t **  editor,
void **  edit_baton,
apr_pool_t *  pool 
)

Similar to svn_wc_get_diff_editor5(), but with an svn_wc_diff_callbacks2_t instead of svn_wc_diff_callbacks3_t.

Deprecated:
Provided for backward compatibility with the 1.5 API.
svn_error_t* svn_wc_get_diff_editor5 ( svn_wc_adm_access_t anchor,
const char *  target,
const svn_wc_diff_callbacks3_t callbacks,
void *  callback_baton,
svn_depth_t  depth,
svn_boolean_t  ignore_ancestry,
svn_boolean_t  use_text_base,
svn_boolean_t  reverse_order,
svn_cancel_func_t  cancel_func,
void *  cancel_baton,
const apr_array_header_t *  changelist_filter,
const svn_delta_editor_t **  editor,
void **  edit_baton,
apr_pool_t *  pool 
)

Similar to svn_wc_get_diff_editor6(), but with an access baton and relative path.

server_performs_filtering always true and with a svn_wc_diff_callbacks3_t instead of svn_wc_diff_callbacks4_t, show_copies_as_adds, and use_git_diff_format set to FALSE.

Diffs will be reported as below the relative path stored in anchor.

Since:
New in 1.6.
Deprecated:
Provided for backward compatibility with the 1.6 API.
svn_error_t* svn_wc_get_diff_editor6 ( const svn_delta_editor_t **  editor,
void **  edit_baton,
svn_wc_context_t wc_ctx,
const char *  anchor_abspath,
const char *  target,
svn_depth_t  depth,
svn_boolean_t  ignore_ancestry,
svn_boolean_t  show_copies_as_adds,
svn_boolean_t  use_git_diff_format,
svn_boolean_t  use_text_base,
svn_boolean_t  reverse_order,
svn_boolean_t  server_performs_filtering,
const apr_array_header_t *  changelist_filter,
const svn_wc_diff_callbacks4_t callbacks,
void *  callback_baton,
svn_cancel_func_t  cancel_func,
void *  cancel_baton,
apr_pool_t *  result_pool,
apr_pool_t *  scratch_pool 
)

Return an editor/edit_baton for diffing a working copy against the repository.

The editor is allocated in result_pool; temporary calculations are performed in scratch_pool.

This editor supports diffing either the actual files and properties in the working copy (when use_text_base is FALSE), or the current pristine information (when use_text_base is TRUE) against the editor driver.

anchor_abspath/target represent the base of the hierarchy to be compared. The diff callback paths will be relative to this path.

Diffs will be reported as valid relpaths, with anchor_abspath being the root ("").

callbacks/callback_baton is the callback table to use.

If depth is svn_depth_empty, just diff exactly target or anchor_path if target is empty. If svn_depth_files then do the same and for top-level file entries as well (if any). If svn_depth_immediates, do the same as svn_depth_files but also diff top-level subdirectories at svn_depth_empty. If svn_depth_infinity, then diff fully recursively.

ignore_ancestry determines whether paths that have discontinuous node ancestry are treated as delete/add or as simple modifications. If ignore_ancestry is FALSE, then any discontinuous node ancestry will result in the diff given as a full delete followed by an add.

show_copies_as_adds determines whether paths added with history will appear as a diff against their copy source, or whether such paths will appear as if they were newly added in their entirety.

If use_git_diff_format is TRUE, copied paths will be treated as added if they weren't modified after being copied. This allows the callbacks to generate appropriate --git diff headers for such files.

Normally, the difference from repository->working_copy is shown. If reverse_order is TRUE, then show working_copy->repository diffs.

If cancel_func is non-NULL, it will be used along with cancel_baton to periodically check if the client has canceled the operation.

changelist_filter is an array of const char * changelist names, used as a restrictive filter on items whose differences are reported; that is, don't generate diffs about any item unless it's a member of one of those changelists. If changelist_filter is empty (or altogether NULL), no changelist filtering occurs.

If server_performs_filtering is TRUE, assume that the server handles the ambient depth filtering, so this doesn't have to be handled in the editor.

Since:
New in 1.7.
svn_error_t* svn_wc_get_prop_diffs ( apr_array_header_t **  propchanges,
apr_hash_t **  original_props,
const char *  path,
svn_wc_adm_access_t adm_access,
apr_pool_t *  pool 
)

Similar to svn_wc_get_prop_diffs2(), but with a svn_wc_adm_access_t / relative path parameter pair.

Deprecated:
Provided for backwards compatibility with the 1.6 API.
svn_error_t* svn_wc_get_prop_diffs2 ( apr_array_header_t **  propchanges,
apr_hash_t **  original_props,
svn_wc_context_t wc_ctx,
const char *  local_abspath,
apr_pool_t *  result_pool,
apr_pool_t *  scratch_pool 
)

Given a local_abspath to a file or directory under version control, discover any local changes made to properties and/or the set of 'pristine' properties.

wc_ctx will be used to access the working copy.

If propchanges is non-NULL, return these changes as an array of svn_prop_t structures stored in *propchanges. The structures and array will be allocated in result_pool. If there are no local property modifications on local_abspath, then set *propchanges will be empty.

If original_props is non-NULL, then set *original_props to hashtable (const char *name -> const svn_string_t *value) that represents the 'pristine' property list of path. This hashtable is allocated in result_pool.

Use scratch_pool for temporary allocations.

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines