Я только что сделал слияние, используя что-то вроде:
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.
После моего слияния предыдущих изменений diff of 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
.