Wie kann ich mithilfe von TortoiseSVN Änderungen vom Stamm in einen Zweig und umgekehrt zusammenführen?


Answers

Ich konnte den anderen Antworten nicht richtig folgen, hier ist mehr von einem Dummies Führer ...

Sie können dies entweder tun, um trunk -> branch zu gehen trunk -> branch oder branch -> trunk . Ich mache immer zuerst trunk -> branch dort Konflikte lösen und dann branch -> trunk .

Stamm in einen Zweig / Tag zusammenführen

  1. Überprüfen Sie den Zweig / das Tag
  2. Klicken Sie mit der rechten Maustaste auf den Zweig der Verzweigung | Schildkröte SVN | Zusammenführen ...
  3. Zusammenführungstyp: Mehrere Revisionen zusammenführen | Weiter klicken'
  4. Revisionsbereich zusammenführen: Wählen Sie die URL des Stammverzeichnisses, das Sie in den Zweig / das Tag kopiert haben. Geben Sie die Revisionen zum Zusammenführen ein oder lassen Sie das Feld leer, um alle Revisionen | zusammenzuführen Weiter klicken'
  5. Zusammenführungsoptionen: Ich habe diese als Standard | verlassen Klicken Sie auf "Zusammenführen"
  6. Dadurch werden die Revisionen in den ausgecheckten Zweig / Tag eingefügt
  7. Übergeben Sie anschließend die zusammengeführten Änderungen an den Zweig / Tag
Question

Ich habe beim Verzweigen / Zusammenführen mit Subversion 1.5 mit dem ausgezeichneten und kostenlosen Version Control mit Subversion Buch gelesen. Ich denke, dass ich verstehe, wie man den Subversion-Kommandozeilen-Client benutzt, um die Aktionen auszuführen, die ich am häufigsten benötige, nämlich:

Update Branch mit Änderungen aus dem Trunk

Führen Sie im Arbeitsverzeichnis der Zweigstelle den folgenden Befehl aus:

svn merge http://svn.myurl.com/proj/trunk

Branch in Trunk zusammenführen

Führen Sie im Arbeitsverzeichnis des Trunks Folgendes aus:

svn merge --integriere http://svn.myurl.com/proj/branches/mybranch

TortoiseSVN 1.5 verwenden wir jedoch als Schnittstelle zu Subversion. Ich würde gerne wissen, wie man diese Operationen mit TortoiseSVN am besten durchführt. Der neue Dialog bietet drei verschiedene Optionen im Hauptmenü.

  1. Merge eine Reihe von Revisionen
  2. Integrieren Sie eine Filiale neu
  3. Füge zwei verschiedene Bäume zusammen

Von dem, was ich sammeln kann, führt TortoiseSVN immer svn mit der folgenden Syntax aus.

svn merge [--dry-run] --force Von_URL @ revN To_URL @ revM PATH

Darüber hinaus scheitert die Wiedereingliederung eines Zweigs oft mit der Meldung, dass einige Ziele nicht zusammengeführt wurden und daher nicht fortgesetzt werden können. Daher musste ich Option 3 verwenden.

Meine Fragen sind:

  1. Wie verwende ich TortoiseSVN 1.5, um Änderungen vom Stamm zu einem Zweig zusammenzuführen?
  2. Wie verwende ich TortoiseSVN 1.5, um den Zweig mit und ohne Reintegrationsmethode mit dem Stamm zu verbinden?
  3. Welche der obigen Optionen sollte ich für jeden verwenden und warum?

BEARBEITEN

Durch "Dry-Run" -Tests habe ich festgestellt, dass die Command-Line-Subversion-Operation

svn merge http://svn.myurl.com/proj/trunk

ist analog zu Option # 1 (Revisionen zusammenführen) in TortoiseSVN, solange ich den Revisionsbereich leer lasse.




svnmerge.py dir svnmerge.py . Es ist eine Befehlszeile, kann nicht von TortoiseSVN aufgerufen werden, aber es ist leistungsfähiger. Aus den FAQ :

Traditionelle Subversion lässt Sie Änderungen zusammenführen, aber es erinnert sich nicht an das, was Sie bereits zusammengeführt haben. Es bietet auch keine bequeme Möglichkeit, einen Änderungssatz von der Zusammenführung auszuschließen. svnmerge.py automatisiert einen Teil der Arbeit und vereinfacht es. Svnmerge erstellt auch eine Commit-Nachricht mit den Protokollnachrichten von allen Dingen, die es zusammengeführt hat.