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