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,