次のようなものを使用してマージを行いました。
svn merge -r 67212:67213 https://my.svn.repository/trunk .
2 つのファイルしかありませんでしたが、そのうちの 1 つは単純な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.
誤って取り込まれたエントリは、マージ先のファイルにはありませんでしたが、それは私の変更の 1 つではなく、とにかくマージされるべきではなかったことに注意してください。修正するのは簡単でした (私の変更の一部ではない余分な行を削除してください) SVN
。