On the issue-3975 branch: Don't add subtree mergeinfo to describe a merge
if such mergeinfo describes non-existent sources or other lines of history.

* subversion/libsvn_client/merge.c

  (calculate_merge_inheritance): Add an output argument to communicate back
   to the caller what inheritance was set.

  (record_mergeinfo_for_dir_merge): When describing a merge, don't set
   mergeinfo on subtrees which contains non-existent merge sources or
   different lines of history which happen to share the same path.

* subversion/tests/cmdline/merge_authz_tests.py

  (mergeinfo_and_skipped_paths): Don't expect mergeinfo describing
   non-existent paths on a subtree added by a merge.

* subversion/tests/cmdline/merge_reintegrate_tests.py

  (reintegrate_with_rename,
   reintegrate_with_subtree_mergeinfo): Don't expect mergeinfo describing
   non-existent paths on a subtree added by a merge.

  (added_subtrees_with_mergeinfo_break_reintegrate): Adjust expected
   mergeinfo such that added subtrees get mergeinfo describing the merge.

* subversion/tests/cmdline/merge_tests.py

  (dont_explicitly_record_implicit_mergeinfo): Don't expect subtree elision
   because we are no longer setting non-existent mergeinfo on the subtree.

  (no_self_referential_filtering_on_added_path): Don't expect mergeinfo
   describing non-existent paths on a subtree added by a merge.


git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/issue-3975@1160432 13f79535-47bb-0310-9956-ffa450edef68
4 files changed