SVN - nicht in der Lage Zweig zu verschmelzen zurück in Stamm - zahlreiche Baum Konflikte

StackOverflow https://stackoverflow.com/questions/1008681

  •  06-07-2019
  •  | 
  •  

Frage

Ich habe, was ich dachte, war ein einfaches Szenario - mit TortoiseSVN:

1) ich einen Zweig (B2) eine Anwendung gemacht (arbeiten Bild Sprites & JAWR bei der Umsetzung).

2) Testing & Entwicklung ging weiter wie gewohnt auf dem Stamm.

3) Ich wieder anhand der Zweig ein paar Mal in den letzten Tagen von:

3.1) Zusammengeführt Stamm (durch Bereich von Revisionen) zu meiner Zweig-b2 Arbeitskopie, die Lösung von Konflikten beim Zusammenführen.

3.2) (nach der Prüfung Zweig-b2), lege ich die Re-basierte Zweig-b2.

Das alles funktionierte, wie ich erwartet hatte. Aber die Zusammenlegung der Zweig zurück in den Stamm mit mir seinen Weg mit:

4) Nachdem alle Updates in Zweig-b2 begangen; Ich stelle sicher, ich eine SVN-Update am Stamm und Zweig-b2.

5) Dann versuche ich (Bereich von Revisionen) von Ast-b2 in den Kofferraum zu verschmelzen. Doch für jede neue Datei, die dem Stamm hinzugefügt worden war, und anschließend zu Zweig-b2 hinzugefügt, wenn ich es indexiert, erhalte ich einen Baum-Konflikt. Ich bin mir nicht sicher, was der richtige Weg, um diese Konflikte zu lösen ist.

Der typischste Rat, den ich gesehen habe, ist entweder die Baum-Konflikt-Dateien aus dem Stamm zu löschen, verschmelzen dann den Zweig über; oder den gesamten Stamm löschen, kopieren Sie die Dateien Zweig über, und dann begehen sie als neue Version in den Kofferraum. Keine dieser Optionen scheint wie eine gute Ideen- erste ist ein Schmerz, und beide scheinen, wie sie Datei Revisionshistorien verlieren würde.

Was hab ich falsch gemacht, und wie kann ich das Problem beheben?

War es hilfreich?

Lösung

Klingt wie Sie den Pre-1.5 Merge-Stil verwenden und versuchen, den Zweig in dem Stamm reintegrieren. In diesem Fall, was Sie tun möchten sicherstellen, zuerst alle Änderungen vom Stamm in die Niederlassung zusammengeführt wurden, und dann anstelle von Entfernungs-Zusammenlegung der Verzweigung zu einer Arbeitskopie, die an den Stamm Punkte, die Sie von Stamm führen“wollen @HEAD TO verzweigen @ HEAD“mit der Arbeitskopie Stamm zeigt. Im Wesentlichen:

„Gib mir alle Änderungen, die ich brauchen würde, um Stamm identisch zu machen, verzweigen“.

Dies funktioniert, wenn Sie bereits über die Änderungen vom Stamm alle mit dem Zweig zusammengeführt haben, weil dann der einzige Unterschied zwischen Stamm und Zweig sind die in der Branche vorgenommenen Änderungen.

Sinn? :)

Andere Tipps

Ich untersuchte das gleiche Problem. Es ist "Feature" in Tortoise SVN 1.6.5. TortoiseSVN 1.5 funktioniert gut mit unserer repositoty (SVN 1.5). TortoiseSVN 1.6.5, wenn Rebasing fügt Dateien von den wichtigen wie NEU (ohne Merge-Historie speichern).
Und Reintegration Zweig resuls in diese Dateien als in Konflikt mit der Hauptlinie zu behandeln.

Ich löste das Problem, indem von TortoiseSVN mit 1.6 „Reintegration Zweig“. Es ist speziell für die Feature-Filialen vorgesetzt.

- Alexey Korsun

Hier ist ein wenig mehr Informationen zu @Rytmis Antwort beizutragen, die mir das hilft immer geradeaus.

High-Level-Stufen des Stammes machen genau wie ein Zweig oder ein Tag:

  1. Kasse aus dem Kofferraum.
  2. Arbeitskopie des Stammes Unter Verwendung von Stamm auf den Zweig / Tag zusammenführen.
  3. Commit.

Beispiel 'svn' Kommandozeilenbefehle:

svn checkout <trunk url>
cd trunk
svn merge <trunk url> <branch/tag url>
svn commit -m "<message>"

Ich kann nicht wirklich herausfinden, wie die obige Lösung zu arbeiten, war so meine Arbeit um anders. Zuerst machte ich sicher, dass der Zweig vom Stamm alle Änderungen enthalten sind.

1) habe ich eine neue Kopie des Rumpfes. 2) Ich exportierte die Verzweigung zu einem temporären Speicherort mit der Schildkröte Svn Export. 3) Ich benutzte Windows-Explorer den gesamten Zweig über an den Stamm zu kopieren und alle Dateien überschrieben 4) Ich habe die Prüfung verwendet für Änderungen auf Schildkröte Befehl und enthalten alle unrevisioned Dateien Kontrollkästchen. 5) Wie wähle ich alle Dateien und angeklickt zus.

Sie sollten Lösungen verwenden, die nicht so die unrevisioned Dateien gebaut wurden Ausgabe nicht enthalten.

Ich kann nicht warten, bis wir auf 1,5 Upgrade +

Wählen Sie Revisionen fusionieren, während „Merge eine Reihe von rivisions“ Auswahl der Option mit TortoiseSVN. Dies wird Baum Konflikte für gleiche Dateien verhindert wieder für jede Operation merge kommen.

Ich glaube, ich dieses Problem gelöst. 1. Rechtsklick auf „Zweig“, die Sie verschmolzen. 2. Klicken Sie auf Tortoise SVN >> Merge 3. „Merge eine Reihe von Revisionen“ und Weiter 4. !!! CHECK "Reverse-Merge" !!!   URL, fusioniert von „Zweig“, spezifischem Bereich „fusionierte Revision vor kurzem“, und Next 5. Weiter 6. SVN commite

Danach habe ich aus Zweig in der Stamm zusammenführen kann.

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