r1666690 | rhuijben | 2015-03-14 14:30:17 +0000 (Sat, 14 Mar 2015)
In the libsvn_client merge code: When reporting and recording that we skip a
node because it is shadowed on an ancestor, properly record that the
ancestor is skipped instead of the descendant itself.
* subversion/libsvn_client/merge.c
(record_skip): Only record a skip, if we really skipped this node, and
not one of its ancestors. To do this handle this add a parent-baton
argument to this function.
(merge_file_changed,
merge_file_added,
merge_file_deleted): Update caller.
(merge_dir_opened): Not only skip the directory add, but also record it
as skipped.
(merge_dir_changed,
merge_dir_added,
merge_dir_deleted,
merge_node_absent): Update caller.
* subversion/tests/cmdline/merge_tree_conflict_tests.py
(merge_obstruction_recording): New function.
(test_list): Add merge_obstruction_recording.
Found by: Pete Harlan <pchpublic88{_AT_}gmail.com>