You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by st...@apache.org on 2016/05/27 10:59:18 UTC

svn commit: r1745740 - /subversion/trunk/subversion/libsvn_client/conflicts.c

Author: stsp
Date: Fri May 27 10:59:18 2016
New Revision: 1745740

URL: http://svn.apache.org/viewvc?rev=1745740&view=rev
Log:
* subversion/libsvn_client/conflicts.c
  (merge_incoming_added_dir_replace): Add a comment about reverse-merges.
   Fix merge source revision number range for the case where we're merging
   the revision in which the directory was added (was -r N:N, now -r N-1:N).

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

Modified: subversion/trunk/subversion/libsvn_client/conflicts.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_client/conflicts.c?rev=1745740&r1=1745739&r2=1745740&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_client/conflicts.c (original)
+++ subversion/trunk/subversion/libsvn_client/conflicts.c Fri May 27 10:59:18 2016
@@ -4343,13 +4343,20 @@ merge_incoming_added_dir_replace(svn_cli
           goto unlock_wc;
         }
 
-      /* Merge the replaced directory into the directory which replaced it. */
+      /* Merge the replaced directory into the directory which replaced it.
+       * We do not need to consider a reverse-merge here since the source of
+       * this merge was part of the merge target working copy, not a branch
+       * in the repository. */
       source1 = url;
       revision1.kind = svn_opt_revision_number;
-      revision1.value.number = b.added_rev;
+      if (b.added_rev == base_revision)
+        revision1.value.number = b.added_rev - 1; /* merge -c ADDED_REV */
+      else
+        revision1.value.number = b.added_rev; /* merge -r ADDED_REV:BASE_REV */
       source2 = url;
       revision2.kind = svn_opt_revision_number;
       revision2.value.number = base_revision;
+      
       err = svn_client__merge_locked(&conflict_report,
                                      source1, &revision1,
                                      source2, &revision2,