Create '1.9.x-update-delete' branch based of the '1.9.x-commit-fixes' branch.
This backports the fixes of the 'make copy' operation, that creates a copy
of a working copy in its own place, to allow clearing the BASE layer
on an incoming delete or replace during update.
Before this patch-set, the copy didn't accurately describe mixed revision
copies and could leave half moves.
* subversion/libsvn_wc/wc-queries.sql (r1660742)
(STMT_DELETE_WORKING_BASE_DELETE): Make non-recursive.
(STMT_DELETE_WORKING_BASE_DELETE_RECURSIVE): New query.
(STMT_INSERT_WORKING_NODE_FROM_BASE_COPY): Allow replacing
an existing node, but keep its moved_to.
* subversion/libsvn_wc/wc_db.c (r1661718, r1660742,...)
(db_base_remove): Improve shadowing detection. Always apply
moves, even when the caller doesn't want to introduce
a new conflict. Break moves that can't be represented.
Remove duplicated query.
(db_move_moved_to): New function. Moving moved-to from
one relpath-opdepth pair to another one.
(db_move_moved_to_down_recursive): New function, moving all
moved to information to another op-depth.
(make_copy_txn): Extend function to properly introduce
not-present nodes, and to keep move information valid.
(svn_wc__db_op_make_copy_internal): Add argument.
Update caller. Provide base-deleted layer before copying
to allow storing move information on it.
(svn_wc__db_op_make_copy): Update caller.
* subversion/libsvn_wc/wc_db_private.h (r1661591)
(svn_wc__db_op_make_copy_internal): Add argument.
* subversion/libsvn_wc/wc_db_update_move.c (r1661591)
(tc_editor_delete): Update caller.
* subversion/tests/cmdline/tree_conflict_tests.py (r1660742)
(update_delete_mixed_rev): Remove XFail. Tweak node status.
* subversion/tests/libsvn_wc/op-depth-test.c (r1660742)
(make_copy_mixed,
make_copy_and_delete_mixed): New functions.
(test_funcs): Add new functions.
git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/1.9.x-update-delete@1662016 13f79535-47bb-0310-9956-ffa450edef68
6 files changed