Frage

Ich habe gerade ein merge mit so etwas wie:

svn merge -r 67212:67213 https://my.svn.repository/trunk .

Ich hatte nur 2 Dateien, eine davon ist eine einfache ChangeLog.Anstatt nur Zusammenführen meine ChangeLog ändert es eigentlich zog mir sowie einigen früheren, die es gab, nicht im Ziel ChangeLog.Ich bemerkte, gab es einen Konflikt, wenn ich ausgeführt, --dry-run, so dass ich aktualisiert ChangeLog, und es war immer noch Konflikte auf, und ich sah den Konflikt als ich den Seriendruck).

Ich habe dann später diffed auf die Datei, die ich war die Verschmelzung von:

svn diff -r 67212:67213 ChangeLog

Und ich sehe nur die änderungen, die ich gemacht hatte, so dass ich wissen, dass zusätzliche Veränderungen nicht da, irgendwie.

Das macht mich besorgt, dass die Zusammenführung nicht eigentlich nur was ich geändert habe, ist das, was ich erwartet hätte.Kann jemand erklären, was passiert ist?

UPDATE:In Reaktion auf NilObject:

Also, ich habe 2 Dateien geändert, nur ChangeLog relevant ist, die anderen verschmolzen in Ordnung.Wenn ich an meine regelmäßigen Stamm der Kasse, ich mache die diff-Befehl von oben und sehen:

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.

Nach meinem Zusammenführung der vorangegangenen änderungen, die diff der ChangeLog sieht wie folgt aus:

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.

Beachten Sie, dass der Eintrag wurde falsch eingezogen wurde nicht in die Datei, die ich Zusammenführen es zu, aber es war doch nicht eine meiner änderungen und sollten nicht zusammengeführt wurden sowieso.Es war einfach zu lösen (entfernen Sie die zusätzlichen Linien, die nicht Teil meiner änderungen), aber es macht mich immer noch sorgen über die Zusammenlegung automatisch in SVN.

War es hilfreich?

Lösung

Dies geschieht nur, mit Konflikten - im Grunde svn versucht, verschmelzen die Veränderung, aber (grob gesprochen) sahen die Veränderung als:

Hinzufügen

2008-08-06  Mike Stone  <myemail>

* changed_file: Details.

bevor

2008-08-06  Someone Else  <their_email>

Und es konnte nicht finden, die Jemand Anderes Zeile, während Sie die merge so eingespannt, dass etwas in der Kontext bei der Umsetzung in den Konflikt.Wenn es ein nicht-Konflikt-verursachende verschmelzen nur die änderungen, die Sie erwartet hätte angewendet.

Andere Tipps

Es gibt nicht wirklich genug Informationen, um zu gehen auf hier.

svn merge -r 67212:67213 https://my.svn.repository/trunk .

verschmelzen alle geänderten Dateien in der revision 67212 in den Ordner /trunk repository und führen Sie Sie in Ihr Aktuelles Arbeitsverzeichnis.Wenn Sie tun:

svn log -r 67212

Welche Dateien zeigt es sich geändert?Merge pull nur die änderungen aus dem ersten argument, und wenden Sie Sie auf die zweite.Es nicht hochladen zurück an den server im ersten argument.

Wenn dies nicht Ihre Frage beantworten, könnte Sie senden Sie mehr details, was genau ist passiert?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top