aboutsummaryrefslogtreecommitdiffstats
path: root/subversion/libsvn_wc/update_editor.c
diff options
context:
space:
mode:
authorPeter Wemm <peter@FreeBSD.org>2013-07-28 05:04:41 +0000
committerPeter Wemm <peter@FreeBSD.org>2013-07-28 05:04:41 +0000
commit97551b2898eb459e9b616947d87d026d27b61518 (patch)
treea851d66ec0c51a7321b30a677a0e55f1655af4d6 /subversion/libsvn_wc/update_editor.c
parentfec88c40a7bace625f49c3234a71560a161ee0ef (diff)
downloadsrc-97551b2898eb459e9b616947d87d026d27b61518.tar.gz
src-97551b2898eb459e9b616947d87d026d27b61518.zip
Import subversion-1.8.1 into vendor staging area.vendor/subversion/subversion-1.8.1
Notes
Notes: svn path=/vendor/subversion/dist/; revision=253728 svn path=/vendor/subversion/subversion-1.8.1/; revision=253729; tag=vendor/subversion/subversion-1.8.1
Diffstat (limited to 'subversion/libsvn_wc/update_editor.c')
-rw-r--r--subversion/libsvn_wc/update_editor.c44
1 files changed, 39 insertions, 5 deletions
diff --git a/subversion/libsvn_wc/update_editor.c b/subversion/libsvn_wc/update_editor.c
index 617ad4775b90..a353b1b07178 100644
--- a/subversion/libsvn_wc/update_editor.c
+++ b/subversion/libsvn_wc/update_editor.c
@@ -924,6 +924,7 @@ mark_directory_edited(struct dir_baton *db, apr_pool_t *scratch_pool)
do_notification(db->edit_baton, db->local_abspath, svn_node_dir,
svn_wc_notify_tree_conflict, scratch_pool);
db->already_notified = TRUE;
+
}
return SVN_NO_ERROR;
@@ -1813,6 +1814,7 @@ delete_entry(const char *path,
SVN_ERR(svn_wc__db_base_remove(eb->db, local_abspath,
FALSE /* keep_as_working */,
FALSE /* queue_deletes */,
+ FALSE /* remove_locks */,
SVN_INVALID_REVNUM /* not_present_rev */,
NULL, NULL,
scratch_pool));
@@ -1911,7 +1913,7 @@ delete_entry(const char *path,
{
/* Delete, and do not leave a not-present node. */
SVN_ERR(svn_wc__db_base_remove(eb->db, local_abspath,
- keep_as_working, queue_deletes,
+ keep_as_working, queue_deletes, FALSE,
SVN_INVALID_REVNUM /* not_present_rev */,
tree_conflict, NULL,
scratch_pool));
@@ -1920,7 +1922,7 @@ delete_entry(const char *path,
{
/* Delete, leaving a not-present node. */
SVN_ERR(svn_wc__db_base_remove(eb->db, local_abspath,
- keep_as_working, queue_deletes,
+ keep_as_working, queue_deletes, FALSE,
*eb->target_revision,
tree_conflict, NULL,
scratch_pool));
@@ -1939,8 +1941,19 @@ delete_entry(const char *path,
/* Notify. */
if (tree_conflict)
- do_notification(eb, local_abspath, svn_node_unknown,
- svn_wc_notify_tree_conflict, scratch_pool);
+ {
+ if (eb->conflict_func)
+ SVN_ERR(svn_wc__conflict_invoke_resolver(eb->db, local_abspath,
+ tree_conflict,
+ NULL /* merge_options */,
+ eb->conflict_func,
+ eb->conflict_baton,
+ eb->cancel_func,
+ eb->cancel_baton,
+ scratch_pool));
+ do_notification(eb, local_abspath, svn_node_unknown,
+ svn_wc_notify_tree_conflict, scratch_pool);
+ }
else
{
svn_wc_notify_action_t action = svn_wc_notify_update_delete;
@@ -2289,6 +2302,16 @@ add_directory(const char *path,
if (tree_conflict != NULL)
{
+ if (eb->conflict_func)
+ SVN_ERR(svn_wc__conflict_invoke_resolver(eb->db, db->local_abspath,
+ tree_conflict,
+ NULL /* merge_options */,
+ eb->conflict_func,
+ eb->conflict_baton,
+ eb->cancel_func,
+ eb->cancel_baton,
+ pool));
+
db->already_notified = TRUE;
do_notification(eb, db->local_abspath, svn_node_dir,
svn_wc_notify_tree_conflict, pool);
@@ -2907,7 +2930,7 @@ close_directory(void *dir_baton,
eb->conflict_func,
eb->conflict_baton,
eb->cancel_func,
- eb->conflict_baton,
+ eb->cancel_baton,
scratch_pool));
/* Notify of any prop changes on this directory -- but do nothing if
@@ -3380,6 +3403,16 @@ add_file(const char *path,
tree_conflict, NULL,
scratch_pool));
+ if (eb->conflict_func)
+ SVN_ERR(svn_wc__conflict_invoke_resolver(eb->db, fb->local_abspath,
+ tree_conflict,
+ NULL /* merge_options */,
+ eb->conflict_func,
+ eb->conflict_baton,
+ eb->cancel_func,
+ eb->cancel_baton,
+ scratch_pool));
+
fb->already_notified = TRUE;
do_notification(eb, fb->local_abspath, svn_node_file,
svn_wc_notify_tree_conflict, scratch_pool);
@@ -4703,6 +4736,7 @@ close_edit(void *edit_baton,
SVN_ERR(svn_wc__db_base_remove(eb->db, eb->target_abspath,
FALSE /* keep_as_working */,
FALSE /* queue_deletes */,
+ FALSE /* remove_locks */,
SVN_INVALID_REVNUM,
NULL, NULL, scratch_pool));
}