svn_wc_diff6

Function svn_wc_diff6 

Source
pub unsafe extern "C" fn svn_wc_diff6(
    wc_ctx: *mut svn_wc_context_t,
    target_abspath: *const c_char,
    callbacks: *const svn_wc_diff_callbacks4_t,
    callback_baton: *mut c_void,
    depth: svn_depth_t,
    ignore_ancestry: svn_boolean_t,
    show_copies_as_adds: svn_boolean_t,
    use_git_diff_format: svn_boolean_t,
    changelist_filter: *const apr_array_header_t,
    cancel_func: svn_cancel_func_t,
    cancel_baton: *mut c_void,
    scratch_pool: *mut apr_pool_t,
) -> *mut svn_error_t
Expand description

Compare working copy against the text-base.

@a target_abspath represents the base of the hierarchy to be compared.

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

If @a depth is #svn_depth_empty, just diff exactly @a 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.

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

@a 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 @a 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.

@a 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 @a changelist_filter is empty (or altogether @c NULL), no changelist filtering occurs.

If @a cancel_func is non-NULL, invoke it with @a 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.