From 3b9f7e96381479fb03ae2c36d490a38718f71083 Mon Sep 17 00:00:00 2001 From: peter Date: Sun, 28 Jul 2013 05:04:41 +0000 Subject: Import subversion-1.8.1 into vendor staging area. --- subversion/libsvn_client/commit.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'subversion/libsvn_client/commit.c') diff --git a/subversion/libsvn_client/commit.c b/subversion/libsvn_client/commit.c index 3f6bfef..6b30885 100644 --- a/subversion/libsvn_client/commit.c +++ b/subversion/libsvn_client/commit.c @@ -240,6 +240,13 @@ post_process_commit_item(svn_wc_committed_queue_t *queue, remove_lock = (! keep_locks && (item->state_flags & SVN_CLIENT_COMMIT_ITEM_LOCK_TOKEN)); + /* When the node was deleted (or replaced), we need to always remove the + locks, as they're invalidated on the server. We cannot honor the + SVN_CLIENT_COMMIT_ITEM_LOCK_TOKEN flag here because it does not tell + us whether we have locked children. */ + if (item->state_flags & SVN_CLIENT_COMMIT_ITEM_DELETE) + remove_lock = TRUE; + return svn_wc_queue_committed3(queue, wc_ctx, item->path, loop_recurse, item->incoming_prop_changes, remove_lock, !keep_changelists, -- cgit v1.1