Warum nicht svn merge --ignore-ancestry Arbeit zweimal in diesem Szenario, wenn Sie svn diff+patch?

Ich versuche, Sie zu ersetzen meinen svn Zusammenführung von workflow — und das ist in der Regel svn diff manchmal einige manuelle editieren der patch, und dann patch — mit tatsächlichen svn merge. Aber ich sehe einige unerwartete Verhalten, und ich kann nicht finden eine Erklärung in einem der SVN-Dokumentation on-line. Hier ist mein Szenario:

  1. Neues repository (rev. 0)
  2. Erstellt eine leere Datei namens file im Kofferraum (rev. 1)
  3. Kopiert trunk, branches/branch1 (rev. 2)
  4. In den Filialen/branch1, geändert file zu Lesen, "abcdefg" und engagierte (rev. 3)
  5. Zurück in den Kofferraum ran:

svn merge -c3 ^/branches/branch1 . --ignore-ancestry

So weit, So gut. file im trunk enthält "abcdefg". Und Kofferraum nicht aktualisiert werden mit allen Metadaten, da habe ich --ignore-ancestry. Um zu überprüfen, führe ich:

svn pg svn:mergeinfo .

welche druckt nichts. Toll. Also ich will jetzt übernehmen Sie die änderung in r3 wieder. Also ich ausführen:

svn merge -c3 ^/branches/branch1 . --ignore-ancestry

Dieser Befehl nicht nichts. Druckt keine Ausgabe, nicht ändern file, und fügt keine Metadaten. Wenn ich das gleiche mit meinem alten diff-und patch-workflow, wie diese:

svn diff -c3 ^/branches/branch1 | patch

Dann Datei wird aktualisiert, mit der sich auch wieder ändern. Und seit der änderung Betrug nur:

    --- file    (revision 2)
    +++ file    (revision 3)
    @@ -0,0 +1 @@
    +abcdefg

Anwendung wieder, macht einfach file enthalten zwei Zeilen von "abcdefg", wie beabsichtigt.

~~~

Ich weiß, das sollte nicht sein, einen gemeinsamen workflow, aber ich fühle mich wie ich brauche, um zu verstehen, was svn merge ist eigentlich in Situationen wie dieser vor kann ich bequem anzunehmen. (Keine Notwendigkeit Alltag, die Vorteile svn merge — ich bin schon an Bord.)

Dank!

Ich dachte, vielleicht dies hatte etwas zu tun mit dem Unterschied zwischen diff3 und diff, aber auch mit diff3, ich kann nicht am Ende das gleiche Ergebnis bekomme ich mit svn merge. Was gibt?

InformationsquelleAutor mhjacobson | 2012-03-13

Schreibe einen Kommentar