summaryrefslogtreecommitdiff
path: root/subversion/libsvn_wc/externals.c
diff options
context:
space:
mode:
Diffstat (limited to 'subversion/libsvn_wc/externals.c')
-rw-r--r--subversion/libsvn_wc/externals.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/subversion/libsvn_wc/externals.c b/subversion/libsvn_wc/externals.c
index 4cbd4f0e4b26f..be42cdf4fb58c 100644
--- a/subversion/libsvn_wc/externals.c
+++ b/subversion/libsvn_wc/externals.c
@@ -475,6 +475,8 @@ struct edit_baton
/* Introducing a new file external */
svn_boolean_t added;
+ svn_wc_conflict_resolver_func2_t conflict_func;
+ void *conflict_baton;
svn_cancel_func_t cancel_func;
void *cancel_baton;
svn_wc_notify_func2_t notify_func;
@@ -963,6 +965,18 @@ close_file(void *file_baton,
/* Run the work queue to complete the installation */
SVN_ERR(svn_wc__wq_run(eb->db, eb->wri_abspath,
eb->cancel_func, eb->cancel_baton, pool));
+
+ if (conflict_skel && eb->conflict_func)
+ SVN_ERR(svn_wc__conflict_invoke_resolver(eb->db,
+ eb->local_abspath,
+ svn_node_file,
+ conflict_skel,
+ NULL /* merge_options */,
+ eb->conflict_func,
+ eb->conflict_baton,
+ eb->cancel_func,
+ eb->cancel_baton,
+ pool));
}
/* Notify */
@@ -1053,6 +1067,8 @@ svn_wc__get_file_external_editor(const svn_delta_editor_t **editor,
const char *recorded_url,
const svn_opt_revision_t *recorded_peg_rev,
const svn_opt_revision_t *recorded_rev,
+ svn_wc_conflict_resolver_func2_t conflict_func,
+ void *conflict_baton,
svn_cancel_func_t cancel_func,
void *cancel_baton,
svn_wc_notify_func2_t notify_func,
@@ -1104,6 +1120,8 @@ svn_wc__get_file_external_editor(const svn_delta_editor_t **editor,
else
eb->recorded_revision = SVN_INVALID_REVNUM; /* Not fixed/HEAD */
+ eb->conflict_func = conflict_func;
+ eb->conflict_baton = conflict_baton;
eb->cancel_func = cancel_func;
eb->cancel_baton = cancel_baton;
eb->notify_func = notify_func;