Ich versuche herauszufinden, warum Mercurial denkt, dass ich versuche, in dieser Situation einen neuen entfernten Zweig zu erstellen:
alt text http://a.yfrog.com/img716/8421/9vz.png
Versucht es nur, mir mitzuteilen, dass der Zweig in den Metadaten als geschlossener Zweig erscheinen wird?
Ich bin auf Mercurial v1.6.1023
Bearbeiten : Der einzige Zweig im Remote-Repository heißt "default"
Standardmäßig wird hg push
auf alle Changesets in Ihrem lokalen Repository übertragen, die sich nicht im Remote-Repository befinden. Wenn Sie Änderungen an einer lokalen Verzweigung ( Environment_Switching
in Ihrem Fall) - sogar eine geschlossene Verzweigung - haben, werden sie zu , es sei denn schließen Sie sie explizit mit hg push -b default
aus (vorausgesetzt, Sie haben Port habe diesen Zweig nicht wieder auf default
zusammengeführt.
Um Ihre Frage zu beantworten, ist es nur eine Warnung, dass Sie eine neue Remote-Zweigstelle erstellen.
EDIT: hg push -r default
und hg push -b default
sind äquivalent. Von der Ausgabe für hg help revs
:
Mercurial unterstützt mehrere Möglichkeiten, individuelle Revisionen anzugeben. ... Text wurde der Kürze halber entfernt ... Ein Zweigname bezeichnet die oberste Revision dieses Zweiges.
Wenn Sie die oberste Revision einer Verzweigung drücken, werden auch deren Vorfahren verschoben. Dies sind die restlichen Änderungsgruppen auf der Verzweigung.
Ja, sogar deine geschlossenen Zweige werden gedrückt, wenn du hg push
machst. Wenn Sie nur die Standardeinstellung ändern möchten, können Sie hg push -r default
eingeben, damit Sie diese Nachricht nicht sehen können.
EDIT: Die Frage missverstanden. Das Folgende ist, wie Sie mehrere Köpfe in einem Zweig bekommen.
Normalerweise wird ein neuer Kopf erstellt, wenn Sie eine andere Basis als die Fernbedienung haben.
Ich habe das im folgenden Workflow gesehen:
R1 User A bindet und drückt
R1 Benutzer B zieht
R2 User A bindet und drückt
R? Benutzer B legt fest und drückt
Mercurial wird entscheiden, dass der Push von Benutzer B auf R1 basiert, während der Server auf R2 ist, so dass er die Änderungen von Benutzer B nur in einem anderen Zweig akzeptiert.
Um dies zu verhindern, übergeben Sie die Änderungen von Benutzer B lokal, führen Sie dann hg pull
, gefolgt von hg merge
aus, und führen Sie die Änderungen mit den remoten Änderungen zusammen.
Dann können Sie Ihre Änderungen auf den Remote-Server übertragen.
Tags und Links mercurial