svn_client_resolve

Function svn_client_resolve 

Source
pub unsafe extern "C" fn svn_client_resolve(
    path: *const c_char,
    depth: svn_depth_t,
    conflict_choice: svn_wc_conflict_choice_t,
    ctx: *mut svn_client_ctx_t,
    pool: *mut apr_pool_t,
) -> *mut svn_error_t
Expand description

Perform automatic conflict resolution on a working copy @a path.

If @a conflict_choice is

  • #svn_wc_conflict_choose_base: resolve the conflict with the old file contents

  • #svn_wc_conflict_choose_mine_full: use the original working contents

  • #svn_wc_conflict_choose_theirs_full: use the new contents

  • #svn_wc_conflict_choose_merged: don’t change the contents at all, just remove the conflict status, which is the pre-1.5 behavior.

  • #svn_wc_conflict_choose_theirs_conflict ###…

  • #svn_wc_conflict_choose_mine_conflict ###…

  • svn_wc_conflict_choose_unspecified invoke @a ctx->conflict_func2 with @a ctx->conflict_baton2 to obtain a resolution decision for each conflict. This can be used to implement interactive conflict resolution but is NOT RECOMMENDED for new code. To perform conflict resolution based on interactive user input on a per-conflict basis, use svn_client_conflict_text_resolve(), svn_client_conflict_prop_resolve(), and svn_client_conflict_tree_resolve() instead of svn_client_resolve().

#svn_wc_conflict_choose_theirs_conflict and #svn_wc_conflict_choose_mine_conflict are not legal for binary files or properties.

If @a path is not in a state of conflict to begin with, do nothing. If @a path’s conflict state is removed and @a ctx->notify_func2 is non-NULL, call @a ctx->notify_func2 with @a ctx->notify_baton2 and @a path.

§with what notification parameters?

If @a depth is #svn_depth_empty, act only on @a path; if #svn_depth_files, resolve @a path and its conflicted file children (if any); if #svn_depth_immediates, resolve @a path and all its immediate conflicted children (both files and directories, if any); if #svn_depth_infinity, resolve @a path and every conflicted file or directory anywhere beneath it.

Note that this operation will try to lock the parent directory of @a path in order to be able to resolve tree-conflicts on @a path.

@since New in 1.5.