Author: julianfoad
Date: Thu Nov 22 16:16:08 2018
New Revision: 1847188

URL: http://svn.apache.org/viewvc?rev=1847188&view=rev
Log:
Fix issue SVN-4792: Foreign repo copy of file adding mergeinfo.

* subversion/libsvn_client/copy.c
  (repos_to_wc_copy_single): Only copy mergeinfo if it's the same repository.

* subversion/tests/cmdline/copy_tests.py
  (foreign_repos_to_wc): Remove XFail.

Modified:
    subversion/trunk/subversion/libsvn_client/copy.c

Modified: subversion/trunk/subversion/libsvn_client/copy.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_client/copy.c?rev=1847188&r1=1847187&r2=1847188&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_client/copy.c (original)
+++ subversion/trunk/subversion/libsvn_client/copy.c Thu Nov 22 16:16:08 2018
@@ -2592,13 +2592,18 @@ repos_to_wc_copy_single(svn_boolean_t *t
                                                 ctx, pool));
     }
 
-  /* Record the implied mergeinfo (before the notification callback
-     is invoked for the root node). */
-  SVN_ERR(svn_client__get_repos_mergeinfo(
-            &src_mergeinfo, ra_session,
-            pair->src_abspath_or_url, pair->src_revnum,
-            svn_mergeinfo_inherited, TRUE /*squelch_incapable*/, pool));
-  SVN_ERR(extend_wc_mergeinfo(dst_abspath, src_mergeinfo, ctx, pool));
+  if (same_repositories)
+    {
+      /* Record the implied mergeinfo (before the notification callback
+         is invoked for the root node). */
+      SVN_ERR(svn_client__get_repos_mergeinfo(&src_mergeinfo, ra_session,
+                                              pair->src_abspath_or_url,
+                                              pair->src_revnum,
+                                              svn_mergeinfo_inherited,
+                                              TRUE /*squelch_incapable*/,
+                                              pool));
+      SVN_ERR(extend_wc_mergeinfo(dst_abspath, src_mergeinfo, ctx, pool));
+    }
 
   /* Do our own notification for the root node, even if we could possibly
      have delegated it.  See also issue #1552.


Reply via email to