【发布时间】:2010-09-05 11:12:55
【问题描述】:
我刚刚使用以下方法进行了合并:
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 的 diff 如下所示:
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 中自动合并。
【问题讨论】: