You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by pb...@apache.org on 2010/06/16 22:28:59 UTC

svn commit: r955369 - in /subversion/trunk/subversion: libsvn_client/merge.c tests/cmdline/merge_reintegrate_tests.py

Author: pburba
Date: Wed Jun 16 20:28:59 2010
New Revision: 955369

URL: http://svn.apache.org/viewvc?rev=955369&view=rev
Log:
Fix issue #3654 'added subtrees with mergeinfo break reintegrate'.

* subversion/libsvn_client/merge.c

  (calculate_left_hand_side): Fix a bug introduced in the fix for
   issue #3242 as it related to reintegrate merges (r946767).  With that
   change we stopped getting location segments for the subtrees of the
   reintegrate target and instead alway got them for the root of the target,
   which is wrong and redundant (take your pick which offends you more).

* subversion/tests/cmdline/merge_reintegrate_tests.py

  (added_subtrees_with_mergeinfo_break_reintegrate): Remove comment re
   XFail status.

  (test_list): Remove XFail from
   added_subtrees_with_mergeinfo_break_reintegrate.

Modified:
    subversion/trunk/subversion/libsvn_client/merge.c
    subversion/trunk/subversion/tests/cmdline/merge_reintegrate_tests.py

Modified: subversion/trunk/subversion/libsvn_client/merge.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_client/merge.c?rev=955369&r1=955368&r2=955369&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_client/merge.c (original)
+++ subversion/trunk/subversion/libsvn_client/merge.c Wed Jun 16 20:28:59 2010
@@ -9615,10 +9615,12 @@ calculate_left_hand_side(const char **ur
        hi = apr_hash_next(hi))
     {
       const char *path = svn__apr_hash_index_key(hi);
+      const char *path_rel_to_session =
+        svn_relpath_skip_ancestor(target_repos_rel_path, path);
 
       SVN_ERR(svn_client__repos_location_segments(&segments,
                                                   target_ra_session,
-                                                  "",
+                                                  path_rel_to_session,
                                                   target_rev, target_rev,
                                                   SVN_INVALID_REVNUM,
                                                   ctx, subpool));

Modified: subversion/trunk/subversion/tests/cmdline/merge_reintegrate_tests.py
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/merge_reintegrate_tests.py?rev=955369&r1=955368&r2=955369&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/merge_reintegrate_tests.py (original)
+++ subversion/trunk/subversion/tests/cmdline/merge_reintegrate_tests.py Wed Jun 16 20:28:59 2010
@@ -1936,17 +1936,6 @@ def added_subtrees_with_mergeinfo_break_
 
   # r14 - Reintegrate A_COPY to A.
   svntest.actions.run_and_verify_svn(None, None, [], 'up', wc_dir)
-  # Currently this fails with:
-  #
-  #  >svn merge ^^/A_COPY A --reintegrate
-  #  svn: Reintegrate can only be used if revisions 2 through 13 were
-  #  previously merged from file:///D:/SVN/src-trunk/Release/subversion/
-  #  tests/cmdline/svn-test-work/repositories/merge_reintegrate_tests-13/A
-  #  to the reintegrate source, but this is not the case:
-  #    A_COPY/C/nu
-  #      Missing ranges: /A/C/nu:9,11
-  #
-  # Marking this test as XFail until this issue is fixed.
   svntest.actions.run_and_verify_svn(None, svntest.verify.AnyOutput, [],
                                      'merge', '--reintegrate',
                                      sbox.repo_url + '/A_COPY', A_path)
@@ -2092,7 +2081,7 @@ test_list = [ None,
               SkipUnless(multiple_reintegrates_from_the_same_branch,
                          server_has_mergeinfo),
               reintegrate_with_self_referential_mergeinfo,
-              XFail(added_subtrees_with_mergeinfo_break_reintegrate),
+              added_subtrees_with_mergeinfo_break_reintegrate,
              ]
 
 if __name__ == '__main__':