2010-08-31 4 views
38

Ich freue mich darauf, meine Codes, die ich in einem Zweig von SVN entwickelt, mit dem Trunk zusammenzuführen. Ich benutze Eclipse und habe Team-> Commit verwendet, um meine Updates für das SVN zu übernehmen. Aber ich habe noch keine Zusammenführung gemacht. Bitte hilf mir dabei. DankeVerschmelzung von Zweig zu Stamm in SVN mit Eclipse

Antwort

76
  1. Zunächst einmal stellen Sie sicher, dass Sie auf dem neuesten Stand sind. Aktualisieren Sie Ihre Arbeitskopie des Zielzweiges, d. wo du hineinkommst. In diesem Beispiel arbeiten wir am Stamm von "core" und wir wollen die Änderungen, die im Wartungszweig geschehen sind, erfassen und zusammenführen.
  2. Lösen Sie alle Konflikte. Zu diesem Zeitpunkt sollten keine Konflikte zwischen der Arbeitskopie und dem Repository auftreten.
  3. Wählen Sie die SVN-Zusammenführungsoption in der Arbeitskopie. In Eclipse wird dies unter dem "Team" -Menü und "Merge Branch" genannt. SVN: Zusammenführen in Eclipse
  4. Ändern Sie die Von-URL zu dem bestimmten Zweig, der in Ihre Arbeitskopie integriert werden soll. In diesem Beispiel suchen wir den Wartungszweig p400 (./core/branches/p400).
  5. Ändern Sie die Version von auf die letzte Revision, die in den Zielzweig integriert wurde. Im Wesentlichen möchten Sie nicht die gesamte Verzweigungshistorie zusammenführen, sondern nur diese Änderungen seit der letzten Zusammenführung einfügen. Es gibt keine einfache Möglichkeit, den letzten Zusammenführungspunkt in Subversion zu bestimmen. Sie müssen Ihr Nachrichtenprotokoll überprüfen und nach dem letzten Commit suchen, bei dem es um das Zusammenführen geht. Wenn Sie über die Commit-Nachrichten, die Sie zum Zusammenführen verwenden, diszipliniert sind, sollte dies einfach sein (siehe unten). Notieren Sie sich, was diese Revision ist - Sie benötigen dies später, wenn Sie Ihre Änderungen festschreiben. SVN: Zusammenführen mit Eclipse
  6. Ändern Sie die To-Revision auf die neueste (d. H. Kopf). Notieren Sie sich, was diese Revision ist - Sie benötigen dies später, wenn Sie Ihre Änderungen festschreiben.
  7. Klicken Sie auf Zusammenführen und warten. Abhängig davon, wie groß die Unterschiede sind, kann dies schnell geschehen oder Eclipse fällt einfach um. Wenn Sie solch eine enorme Veränderung haben, dass Sie es in Eclipse nicht schaffen können, müssen Sie möglicherweise den Bereich der Revisionen, die Sie verschmelzen, verkleinern. Oder Sie müssen sogar bestimmte Überarbeitungen überspringen und manuell tun, wenn sie massiv sind. Wir hatten dieses Problem von Zeit zu Zeit beim Aktualisieren großer Bibliotheken von Drittanbietern. Die überwiegende Mehrheit der Zeit wird Ihnen gut gehen.
  8. Überprüfen Sie Änderungen und lösen Sie Konflikte. Wenn die Zusammenführung abgeschlossen ist, sehen Sie sich die Änderungen an, die Sie an Ihrer Arbeitskopie vorgenommen haben, und stellen Sie sicher, dass Sie alle gefundenen Konflikte beheben.
  9. Sobald alle Änderungen in der Zielarbeitskopie gelöst wurden, prüfen Sie sie mit einem einzigen Commit. Der Grund dafür, dass Sie nicht viele Commits durchführen, ist, dass dies Änderungen sind, die in dem Zweig dokumentiert sein sollten, aus dem Sie zusammengeführt haben. Die Commit-Nachricht muss in einem bestimmten Format vorliegen, das die Zusammenführung detailliert und in Zukunft einfach zu finden ist. Wir verwenden das folgende Format, aber Sie können alles verwenden, was für Sie funktioniert - solange Sie sich daran halten.

    Zusammenführung von [Quelle] zu [Ziel]; [Repository]. Merge rev [start]: [end]

Viel Spaß!

+3

Im Gegensatz zu subversiven (eclispe Standard SVN-Client ich glaube?) Subclipse hat schönen Best-Practice-Kontrollen vor der Verschmelzung;) nur Sie wissen .. –

0

Ich möchte für Punkt 8 hinzufügen. Änderungen überprüfen und Konflikte lösen. ---

Wenn Sie manuell an Konflikten arbeiten - wenn Sie Codeabschnitte von rechts nach links kopieren - Seien Sie vorsichtig Manchmal wird ein Teil des Codes hinzugefügt, manchmal ersetzt er den Teil ordnungsgemäß. Stellen Sie sicher, dass kein doppeltes Stück Code vorhanden ist.

Auch dieses ist helpful-- What is the proper way to do a Subversion merge in Eclipse?

Verwandte Themen