Wie kann man TortoiseHg dazu bringen, nur bestimmte Zweige zu ziehen?

13

Ich habe den Standardzweig eines großen Repositorys geklont und möchte jetzt mit dem TortoiseHg-Client vom Server ziehen.

TortoiseHg schlägt jedoch vor, aus allen Zweigen zu ziehen. Kann es angewiesen werden, nur aus dem aktuellen Zweig zu ziehen?

Bisher habe ich Vorschläge zu folgenden Themen gesehen:

  • Richten Sie auf der Clientseite einen Hook ein, um Zugriffe von unerwünschten Zweigen abzulehnen
  • Überprüfen Sie eingehende Revisionen in TortoiseHg und ziehen Sie nur die zum aktuellen Zweig gehörenden
  • Verwenden Sie die Mercurial ACL-Erweiterung, um den Zugriff auf alle Zweige außer dem aktuellen zu verweigern.

Ich mag all diese Lösungen nicht, da sie alle kundenbasiert sind. In allen von ihnen zieht TortoiseHg tatsächlich alle Zweige (sogar in der zweiten, in der die gezogenen Revisionen in einem Bündel angeordnet sind, das in der Ansicht der eingehenden Revisionen dargestellt wird).

Gibt es eine hg pull -b BRANCHEntsprechung in TortoiseHg?

Vielen Dank.

BEARBEITEN

Ich weiß, wie das alles mit dem Mercurial-Befehlszeilen-Client gemacht wird - hg.exe. Diese Frage bezieht sich speziell auf den TortoiseHg-GUI-Client.

Kennzeichen
quelle
Haben Sie dies von der Workbench aus versucht? Ich benutze Hg nicht bei der Arbeit, deshalb kann ich es hier nicht testen.
MBraedley
Ich benutze die Workbench die ganze Zeit und konnte dort jede Option finden, die es anweist, nur den aktuellen oder den bestimmten Zweig zu ziehen.
mark

Antworten:

11

Dies kann im SynchronizeBereich der Workbench erfolgen. Klicken Sie auf den SynchronizeEintrag im ViewMenü oder auf das SynchronizeSymbol in der Symbolleiste (2 grüne Pfeile bilden einen Kreis). Klicken Sie unten rechts auf Options. Geben Sie den Namen der Filiale, die Sie ziehen möchten, in das Branch:Bearbeitungsfeld ein. Beenden Sie das Ziehen wie gewohnt.

afrazier
quelle
2
Das scheint zu funktionieren. Ich würde vorschlagen, .den Namen des Zweigs anzugeben. Auf diese Weise bezieht er sich immer auf den Zweig, an dem Sie arbeiten.
Helgi
2
Nur ein Hinweis für andere: Es gibt einen SynchronizeEintrag unter dem RepositoryMenü. Das ist nicht der Eintrag, den Sie suchen.
George Marian
@ GeorgeMarian ha guter Punkt. Es wäre viel besser, wenn die Ansicht "Synchronisierungsoptionen" oder "Synchronisierung" heißen würde. Diese Option führt die Aktion "Synchronisieren" nicht aus :)
O'Rooney
4
hg pull -r <branch name>  

Weitere Informationen: /programming/5796908/mercurial-how-can-i-import-only-some-changesets-from-a-repository/5798221#5798221

Kamyar
quelle
1
Ich habe den Fragenkörper bearbeitet.
mark
1
@ Kaymar es ist -bfür einen Zweig ziehen. -rist für eine Überarbeitung. Aus der Hilfe für hg pull: -r --rev REV [+] a remote changeset intended to be added ... -b --branch BRANCH [+] a specific branch you would like to pull
UuDdLrLrSs