我刚刚使用以下方法进行了合并:
svn merge -r 67212:67213 https://my.svn.repository/trunk .
我只有 2 个文件,其中一个是简单的ChangeLog
. 它不仅合并了我的ChangeLog
更改,实际上还提取了我的更改以及一些以前不在目标中的更改ChangeLog
。我注意到执行 --dry-run 时发生了冲突,所以我更新ChangeLog
了,但仍然存在冲突(我在进行实际合并时看到了冲突)。
然后,我后来对要合并的文件进行了比较:
svn diff -r 67212:67213 ChangeLog
而且我只看到了我所做的更改,所以我知道额外的更改并没有以某种方式进入那里。
这让我担心合并实际上并不仅仅是采用我所做的更改,这是我所期望的。谁能解释发生了什么?
更新:响应 NilObject:
因此,我更改了 2 个文件,只有 ChangeLog 是相关的,其他合并正常。当我去我的常规中继结账时,我执行上面的 diff 命令并查看:
Index: ChangeLog
===================================================================
--- ChangeLog (revision 67212)
+++ ChangeLog (revision 67213)
@@ -1,3 +1,7 @@
+2008-08-06 Mike Stone <myemail>
+
+ * changed_file: Details.
+
2008-08-06 Someone Else <their_email>
* theirChanges: Details.
在我合并之前的更改后,ChangeLog 的差异如下所示:
Index: ChangeLog
===================================================================
--- ChangeLog (revision 67215)
+++ ChangeLog (working copy)
@@ -1,3 +1,14 @@
+<<<<<<< .working
+=======
+2008-08-06 Mike Stone <myemail>
+
+ * changed_file: Details.
+
+2008-08-06 Someone Else <their_email>
+
+ * theirChanges: Details.
+
+>>>>>>> .merge-right.r67213
2008-08-05 Someone Else2 <their2_email>
* olderChange: Details.
请注意,错误拉入的条目不在我将其合并到的文件中,但它不是我的更改之一,无论如何都不应该被合并。它很容易修复(删除不属于我的更改的额外行),但它仍然让我担心自动合并到SVN
.