Author: stsp Date: Tue Oct 18 21:00:57 2016 New Revision: 1765506 URL: http://svn.apache.org/viewvc?rev=1765506&view=rev Log: * subversion/libsvn_client/conflicts.c (resolve_incoming_delete_accept): Lock the parent of the node we're deleting, else the resolver will error out erroneously accepting an incoming deletion.
Found by: stilor Modified: subversion/trunk/subversion/libsvn_client/conflicts.c Modified: subversion/trunk/subversion/libsvn_client/conflicts.c URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_client/conflicts.c?rev=1765506&r1=1765505&r2=1765506&view=diff ============================================================================== --- subversion/trunk/subversion/libsvn_client/conflicts.c (original) +++ subversion/trunk/subversion/libsvn_client/conflicts.c Tue Oct 18 21:00:57 2016 @@ -6656,14 +6656,17 @@ resolve_incoming_delete_accept(svn_clien { svn_client_conflict_option_id_t option_id; const char *local_abspath; + const char *parent_abspath; const char *lock_abspath; svn_error_t *err; option_id = svn_client_conflict_option_get_id(option); local_abspath = svn_client_conflict_get_local_abspath(conflict); + /* Deleting a node requires a lock on the node's parent. */ + parent_abspath = svn_dirent_dirname(local_abspath, scratch_pool); SVN_ERR(svn_wc__acquire_write_lock_for_resolve(&lock_abspath, ctx->wc_ctx, - local_abspath, + parent_abspath, scratch_pool, scratch_pool)); err = verify_local_state_for_incoming_delete(conflict, option, ctx,