2012-04-04 6 views
0

Ich muss Mercurial-Repositories trennen. Einer ist der Hauptstamm für das Projekt, während der andere ein Zweig mit einer Reihe zusätzlicher Änderungen ist.Wie füge ich zwei Mercurial-Repos in einen einzigen zusammen

Es gibt einen zentralen Speicherort für das Projekt-Repository, in dem sowohl Stamm als auch Zweig verfügbar sein sollen. Ich möchte die beiden Repositories zu einer einzigen zusammenführen, aber trotzdem den Zugriff auf die Verzweigung über Tags oder etwas Ähnliches ermöglichen. Dies würde es Entwicklern ermöglichen, den Hauptcode auszuchecken, aber auch in der Lage zu sein, zur Arbeit an der Verzweigung überzugehen, wenn es weitere Änderungen erfordert. Ich möchte auch sicherstellen, dass kein Code im Stamm versehentlich in den Zweig gelangt. Änderungen an der Niederlassung sollten explizit und absichtlich vorgenommen werden.

Was ist der beste Weg, dies zu erreichen?

+0

Haben Sie versucht, aus dem letzten Repository in das zentrale Repository zu ziehen? – bvulaj

+0

Nein. Muss ich den Zweig zuerst markieren? –

Antwort

1

Wie Brandon sagt, drücken Sie einfach vom Zweig Repo zum Stamm, oder ziehen Sie den Zweig in den Kofferraum.

Sie können dann auswählen, ob Sie den Zweig & zusammenführen oder getrennt halten möchten. Wenn Sie von Zweig zu Stamm drücken, erhalten Sie möglicherweise eine Warnung über mehrere Köpfe. Mach einfach einen Push-f, wenn du sie getrennt halten willst. (Pull darf keine Warnung geben)

Sie können die Verzweigungsänderungen in den Stammbereich zusammenführen und später weitere Arbeiten auf dem Zweig ausführen, wenn Sie möchten. Im Allgemeinen kennzeichne ich jede Veröffentlichung, so dass ich leicht zu allem zurückkehren kann, was aus der Tür ging.

Wenn Sie die Verzweigung erstellt haben, haben Sie sie in ein anderes Verzeichnis geklont? Wenn dies der Fall ist, wird es schwieriger sein, die Verzweigung zu finden, nachdem sie in das Stamm-Repo gezogen wurde. Vielleicht möchten Sie auf bookmarks lesen, um die Branche zu kennzeichnen. Siehe auch how multiple heads work.

Hinweis: Die andere Option ist named branches zu verwenden, die die Verzweigung dauerhaft kennzeichnet. Sie müssten nichts extra tun, um später darauf zu wechseln.

+0

Ja, ich glaube der Zweig wurde geklont, später wurde der Stamm auch geklont, beides als separate Ops. Ich mag auch Tags. Die Seite mit mehreren Köpfen war das, wonach ich suchte (aber nicht finden konnte :-) Danke. –

+0

Was ist also besser, Lesezeichen oder benannte Zweige? (die Dokumente lassen mich vermuten, dass Lesezeichen auf Zweigen aufgebaut sind?) –

+0

Es hängt davon ab, wie Sie sie verwenden möchten. Ich bin kein Experte, aber benannte Zweignamen sind dauerhaft, und Lesezeichen sind flüssiger. Sie können gelöscht werden. Sie sind zwei unabhängige Methoden, um einen Entwicklungszweig innerhalb eines Repositories zu markieren. Die andere Methode besteht darin, in einen separaten Repo zu klonen. –

Verwandte Themen