Frage

Die Situation: Ich bin neu in Mercurial. Ich habe vor kurzem Setup und haben mit einem Repository in einem Modell gestartet empfohlen mir ( siehe Rudis Diagramm unten). Die Dinge haben sich wieder gut, aber ich habe meine erste praktische Anwendung Problem stoßen auf. Mercurial scheint in Richtung nach vorne / gemischte verschmilzt ausgerichtet zu sein, und ich würde zu sichern möchte. Ich mag unseren Standard und stabilen Zweig bereinigen, indem er mit dem Herstellerzweig beginnen, unsere Änderungen erneut vornehmen und überprüfen Sie es in als Standard. Dann verschmelzen die in stabil.

V1----V2-------------V3---------V4     Vendor
 \     \              \          \
  D1----D2---D3--D4-D5-D6-D7-D8---D9   default
                  \           \    \
                   S1----------S2---S3 stable

Die Frage:? Wie kann ich mit dem Herstellerzweig als Mutter starten, um die Standards Änderungen zusammenführen und sich auf den Standardzweig begehen

Ich dachte, folgendes es tun würde, aber das Update ändert das Arbeitsverzeichnis.

hg update -C vendor
hg update default
hg merge
War es hilfreich?

Lösung

Es gibt zwei Möglichkeiten, dies zu gehen. Die rechte und die zweckmäßig ein. Ich werde das Richtige tut zuerst:

hg update default
hg --config ui.merge=internal:other merge vendor

Das aktualisiert Ihre Eltern auf Ausfall- und das Arbeitsverzeichnis auf Standard und dann verschmilzt in den Inhalten von Anbietern, aber nicht mit so einem internen Merge-Tool, dass immer die andere Option auswählt, wenn es ein Unterschied gibt, so dass Sie Standard suchen, wie Hersteller nach dieser Zusammenführung haben werden (und begehen).

Die hinterhältige Art und Weise ist:

hg update -C vendor
hg debugsetparent default
hg commit

Wo debugsetparent ein Elektrowerkzeug ist, das die „Eltern change“ Teil-Update funktioniert, ohne tatsächlich die Dateien im Arbeitsverzeichnis zu aktualisieren.

Andere Tipps

Obwohl es fehlt der Kontext dieser Frage und ihre Antworten liefert, fand ich die offizielle Antwort auf Mercurial Wiki .

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