svn_wc_get_update_editor4

Function svn_wc_get_update_editor4 

Source
pub unsafe extern "C" fn svn_wc_get_update_editor4(
    editor: *mut *const svn_delta_editor_t,
    edit_baton: *mut *mut c_void,
    target_revision: *mut svn_revnum_t,
    wc_ctx: *mut svn_wc_context_t,
    anchor_abspath: *const c_char,
    target_basename: *const c_char,
    use_commit_times: svn_boolean_t,
    depth: svn_depth_t,
    depth_is_sticky: svn_boolean_t,
    allow_unver_obstructions: svn_boolean_t,
    adds_as_modification: svn_boolean_t,
    server_performs_filtering: svn_boolean_t,
    clean_checkout: svn_boolean_t,
    diff3_cmd: *const c_char,
    preserved_exts: *const apr_array_header_t,
    fetch_dirents_func: svn_wc_dirents_func_t,
    fetch_dirents_baton: *mut c_void,
    conflict_func: svn_wc_conflict_resolver_func2_t,
    conflict_baton: *mut c_void,
    external_func: svn_wc_external_update_t,
    external_baton: *mut c_void,
    cancel_func: svn_cancel_func_t,
    cancel_baton: *mut c_void,
    notify_func: svn_wc_notify_func2_t,
    notify_baton: *mut c_void,
    result_pool: *mut apr_pool_t,
    scratch_pool: *mut apr_pool_t,
) -> *mut svn_error_t
Expand description

DEPRECATED – please use APIs from svn_client.h


Set @a *editor and @a *edit_baton to an editor and baton for updating a working copy.

@a anchor_abspath is a local working copy directory, with a fully recursive write lock in @a wc_ctx, which will be used as the root of our editor.

@a target_basename is the entry in @a anchor_abspath that will actually be updated, or the empty string if all of @a anchor_abspath should be updated.

The editor invokes @a notify_func with @a notify_baton as the update progresses, if @a notify_func is non-NULL.

If @a cancel_func is non-NULL, the editor will invoke @a cancel_func with @a cancel_baton as the update progresses to see if it should continue.

If @a conflict_func is non-NULL, then invoke it with @a conflict_baton whenever a conflict is encountered, giving the callback a chance to resolve the conflict before the editor takes more drastic measures (such as marking a file conflicted, or bailing out of the update).

If @a external_func is non-NULL, then invoke it with @a external_baton whenever external changes are encountered, giving the callback a chance to store the external information for processing.

If @a diff3_cmd is non-NULL, then use it as the diff3 command for any merging; otherwise, use the built-in merge code.

@a preserved_exts is an array of filename patterns which, when matched against the extensions of versioned files, determine for which such files any related generated conflict files will preserve the original file’s extension as their own. If a file’s extension does not match any of the patterns in @a preserved_exts (which is certainly the case if @a preserved_exts is @c NULL or empty), generated conflict files will carry Subversion’s custom extensions.

@a target_revision is a pointer to a revision location which, after successful completion of the drive of this editor, will be populated with the revision to which the working copy was updated.

If @a use_commit_times is TRUE, then all edited/added files will have their working timestamp set to the last-committed-time. If FALSE, the working files will be touched with the ‘now’ time.

If @a allow_unver_obstructions is TRUE, then allow unversioned obstructions when adding a path.

If @a adds_as_modification is TRUE, a local addition at the same path as an incoming addition of the same node kind results in a normal node with a possible local modification, instead of a tree conflict.

If @a depth is #svn_depth_infinity, update fully recursively. Else if it is #svn_depth_immediates, update the uppermost directory, its file entries, and the presence or absence of subdirectories (but do not descend into the subdirectories). Else if it is #svn_depth_files, update the uppermost directory and its immediate file entries, but not subdirectories. Else if it is #svn_depth_empty, update exactly the uppermost target, and don’t touch its entries.

If @a depth_is_sticky is set and @a depth is not #svn_depth_unknown, then in addition to updating PATHS, also set their sticky ambient depth value to @a depth.

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

If @a clean_checkout is TRUE, assume that we are checking out into an empty directory, and so bypass a number of conflict checks that are unnecessary in this case.

If @a fetch_dirents_func is not NULL, the update editor may call this callback, when asked to perform a depth restricted update. It will do this before returning the editor to allow using the primary ra session for this.

@since New in 1.7. @deprecated Provided for backward compatibility with the 1.7 API.