Frage

Ein gängiges Szenario, wenn Quellcodeverwaltung verwendet, ist ein Entwicklungszweig zu haben, zusammen mit versioniert Release Filialen. Wir verwenden CVS, mit HEAD als Entwicklungszweig und ein Zweig namens z.B. Release-6-2 für die aktuelle Version eines Produkts.

Entwicklung von neuen Funktionen gehen in den Entwicklungszweig nur, aber Fehlerkorrekturen haben manchmal sowohl in den Entwicklungszweig und dem aktuellen Release-Zweig überprüft werden. Dies kann manchmal ziemlich langweilig, so dass ich bin auf der Suche nach praktischen Wegen, dies zu erreichen.

Wenn eine Datei verpflichtet werden synchron auf den beiden Zweigen ist, bin ich insbesondere für eine schnelle Suche „verpflichten sich zu dieser Zweige“ Lösung.

(Wir verwenden CVS als unser Quellkontrollsystem, so dass alle CVS-spezifischen Antworten sind nett. Es ist aber auch interessant zu sehen, ob andere Quelle Steuerungssysteme kann eine bessere Art und Weise bieten.  Auf der Clientseite wir Eclipse, so Eclipse-Lösungen sind gut. Aber wenn Sie eine nicht-Eclipse-Lösung haben, das ist auch in Ordnung.)

War es hilfreich?

Lösung

übernehmen Sie die Lösung für den ältesten Release-Zweig erforderlich. Dann verschmilzt die Änderung auf den nächsten Release-Zweig und so weiter, bis Sie aus dem letzten Release-Zweig zum HEAD fusionieren.

Sagen Sie die älteste Version Ihres Produkts 1.0 ist und Sie haben auch 1.1 und 1.5 Versionen. Neue Funktionen für die nächste Version werden an die HEAD hinzugefügt. Wenn ein Fehler in 1.0 gefunden wird, gelten Sie das Update auf den 1.0-Zweig. Merge von 1,0 bis 1,1 den Zweig. Merge von 1,1 bis 1,5 Zweig, und schließlich aus dem 1.5-Zweig zu dem HEAD fusionieren.

Zusammenführen von Zweig zu Zweig ist besser als zu jedem Zweig das Update manuell anwenden.

Mit CVS haben Sie mannually den Überblick behalten, welche Versionen zusammengeführt werden, so dass Sie die gleichen Versionen nicht enthalten, wenn Sie Ihren nächsten merge tun.

Wenn Sie Subversion zu verwenden, ändern, von Ast zu Ast Zusammenführung ist einfacher. Eclipse Subversion-Tool zu verfolgen, was Überarbeitungen Sie vorher zusammengeschlossen haben, erheblich die Aufgabe zu vereinfachen dabei wiederholt verschmilzt zwischen zwei Zweigen.

Der Wechsel zu Subversion von CVS ist einfach (ish). Sie werden nicht die ersten, die einen solchen Schritt gemacht haben.

Andere Tipps

Wie awalshe sagte, ist es besser, zwischen den Zweigen zu verschmelzen. Um eine merge kirsch pick, beschriebene Verfahren in Pragmatischer Version Control CVS verwendet, ist sehr gut:

In der Zweig - tag (PRE_FOO) vor der Änderung, die Änderungen vornehmen und sich verpflichten, Tag nach dem Wechsel (POST_FOO). Dann, im Kofferraum, fusionieren die Tags mit:

cvs up -j PRE_FOO -j POST_FOO

zwischen Zweigen Merging ist viel einfacher und sicherer in SVN, und es ist trivial Ihre gesamte CVS Geschichte SVN zu konvertieren - siehe cvs2svn . mit früheren Versionen SVN - - Sie sollten entweder SVN 1.5, oder verwenden Sie svnmerge .

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