Pete Harlan <pchpublic88@gmail.com>


Found
r1666690

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>