Fix issue #4859 "Merge removing a folder with non-inheritable mergeinfo ->
E155023: can't set properties: invalid status for updating properties".

The code was attempting to set mergeinfo on a path that is being deleted by
the merge.  This happened only in certain unusual cases such as when
deleting a folder that had non-inheritable mergeinfo and had children.

This patch fixes the problem by removing the 'children_with_mergeinfo'
entries for sub-paths of a deleted folder.

* subversion/libsvn_client/merge.c
  (merge_cmd_baton_t): Allow modifying 'children_with_mergeinfo'.
  (record_update_delete): Remove from 'children_with_mergeinfo' all paths
    in the subtree.

* subversion/tests/cmdline/merge_tests.py
  (merge_deleted_folder_with_mergeinfo): Remove 'XFail'.
  (merge_deleted_folder_with_mergeinfo_2): New test.
  (test_list): Add the new test.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1879192 13f79535-47bb-0310-9956-ffa450edef68
2 files changed