我只是使用像做了一個合併:SVN合併合併多餘的東西
svn merge -r 67212:67213 https://my.svn.repository/trunk .
我只用了2個文件,其中之一是一個簡單的ChangeLog
。它並沒有合併我的ChangeLog
更改,而是實際上將我的以及之前不在目標ChangeLog
中的一些內容拉回。我注意到當我執行--dry-run時發生了衝突,因此我更新了ChangeLog
,並且仍然存在衝突(我在實際合併時發現了衝突)。
我後來顯示差異上我是從合併文件:
svn diff -r 67212:67213 ChangeLog
而且我看到的只是我做出了改變,所以我知道的額外的改變並沒有在那裏得到的莫名其妙。
這讓我擔心合併實際上並不只是採取了我所改變的,這正是我所期望的。任何人都可以解釋發生了什麼?
UPDATE:爲響應NilObject:
所以,我有2個文件改變,只是更新日誌是相關的,其他的合併罰款。當我去我的正常軀幹結賬,我做上面的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.
我以前的修改合併後,更新日誌的差異看起來是這樣的:
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
中自動合併。
我明白爲什麼這是它的樣子(當進行視覺/手動合併時,SVN必須爲「他們」提供一個「現有」基礎文檔,因此合併標準中的最新版本是它),但它真的很討厭! (至少對於新來的合併遊戲,並驚歎櫻桃和其他合併善的奇蹟) – Tao 2010-07-06 17:20:54