Frage

Ich habe einen Kofferraum (a) und zwei Zweige (B und C). Wenn ich A mit C verschmilzt, ist es in Ordnung, nachdem ich A mit B verschmolzen habe, haben das vorherige C nicht überschreibt und mein Kofferraum haben die C -Änderungen nicht.

Was ich will, ist A + B + C nach Zusammenführungen.

Bearbeitet für weitere Erklärungen:

  1. In Trunk habe ich 3 Dateien: "Datei 1", "Datei 2" und "Datei 3";
  2. Ich erstelle einen Zweig aus Trunk als "Zweig 1";
  3. Ich wechsle zu "Branch 1", ich fixiere Fehler in "Datei 1" -Datei und Commit.
  4. Gleichzeitig erstellt eine andere Person einen Zweig aus dem Koffer als "Zweig 2";
  5. Diese Person fixiert andere Fehler in Dateien "Datei 2" und "Datei 3" und "Datei 3".
  6. Der "Zweig 2" ist für die Veröffentlichung zugelassen, dann fusioniere ich "Branch 2" zu "Trunk" (es ist in Ordnung);
  7. Am nächsten Tag ist der "Zweig 1" zugelassen, dann fusioniere ich "Branch 1" zu "Koffer", und der "Koffer" verliert die Änderungen gegenüber "Zweig 2".
War es hilfreich?

Lösung

  1. Eine funktionierende Kopie machen trunk
  2. svn merge -r W:X svn://branchA workingCopy
  3. svn merge -r Y:Z svn://branchB workingCopy

Ich denke, dies gibt Ihnen das, was Sie wollen, das ist der Kofferraum und alle Änderungen, die von beiden Filialen vorgenommen wurden. Sie müssen sich jedoch mit Konflikten befassen.

Andere Tipps

Angenommen, Sie verwenden Subversion 1.5 oder höher, möchten Sie Ihre Zweige wieder in den Kofferraum "wieder integrieren" http://blog.red-bean.com/sussman/?p=92

Ihre Terminologie ist nicht klar. Wenn Sie sagen, dass Sie "A mit B" verschmelzen, bedeutet das, dass Sie A in B oder B in a verschmelzen? Können Sie genau erklären, was Sie getan haben, um die Zweige zu erstellen, und wie Sie versucht haben, die Verschmelzung zu machen? Für das Zusammenführen ist es auch wichtig, welche SVN -Version Sie verwenden.

Ich schlage vor, Sie lesen die sorgfältig die Kapitel über Verzweigungen und Verschmelzung im SVN -Buch.

Wenn Sie einen Feature -Zweig haben (was Sie anscheinend haben), fusionieren Sie den Zweig wiederholt mit. SVN protokolliert dann, welche Überarbeitungen Sie zusammengeführt haben und sie werden sie nicht wieder verschmolzen. Wenn Sie mit Ihrer Filiale fertig sind, haben Sie ihn wieder in den Kofferraum integriert und entlassen es.

All dies geschieht auf Ihrer Festplatte, einem Zweig gleichzeitig, der potenziellen Konflikte nach jedem Zweig auflöst und in jedem Schritt überprüft wird. (Wenn Sie aus irgendeinem Grund die Änderungen am Kofferraum in einem Checkin anwenden müssen, können Sie Ihre Zweige in einen frischen Zweig aus dem Kofferraum verschmelzen und dann diesen Zweig in den Kofferraum verschmelzen, wenn Sie fertig sind.)

Sie möchten die Zusammenführungen auf Ihren Arbeitsbereich anwenden, nicht auf das Repository. Alternativ können Sie CVs verwenden, das sich weit überlegen mit Zweigen befasst als SVN.

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