Как заставить TortoiseHg тянуть только определенную ветку?


13

Я клонировал ветку по умолчанию большого репозитория, и теперь я хочу получить с сервера, используя клиент TortoiseHg.

Однако TortoiseHg предлагает вытащить из всех веток. Можно ли поручить его тянуть только из текущей ветки?

До сих пор я видел предложения:

  • Установите хук на стороне клиента, чтобы отклонить тяги из нежелательных веток
  • Проверьте входящие ревизии в TortoiseHg и извлеките только те, которые принадлежат текущей ветке
  • Используйте расширение Mercurial ACL, чтобы запретить доступ ко всем ветвям, кроме текущей.

Мне не нравятся все эти решения, так как все они основаны на клиентах. Во всех них TortoiseHg фактически вытягивает все ветви (даже во второй, когда извлеченные ревизии сгруппированы в связку, представленную в представлении входящих ревизий)

Есть ли hg pull -b BRANCHэквивалент в TortoiseHg?

Благодарю.

РЕДАКТИРОВАТЬ

Я знаю, как сделать все это с помощью клиента командной строки Mercurial - hg.exe. Этот вопрос конкретно о клиенте TortoiseHg GUI.


Вы пытались сделать это с верстака? Я не использую Hg на работе, поэтому я не могу проверить это здесь.
MBraedley

Я использую верстак все время, и я мог найти там любую опцию, которая указала бы, чтобы она вытягивала только текущую или определенную ветку.
отметка

Ответы:


11

Это можно сделать из Synchronizeобласти Workbench. Нажмите на Synchronizeзапись в Viewменю или Synchronizeзначок панели инструментов (2 зеленые стрелки появляются, чтобы сформировать круг). В нижней правой панели нажмите Options. Введите название ветви, которую вы хотите вывести в поле для Branch:редактирования. Закончите тянуть как обычно.


2
Кажется, это работает. Я бы предложил указать в .качестве имени ветки, таким образом, оно всегда будет ссылаться на ветку, над которой вы работаете.
Helgi

2
Просто примечание для других: Synchronizeпод Repositoryменю есть запись . Это не запись, которую вы ищете.
Джордж Мариан

@ GeorgeMarian - это хорошо. Было бы намного лучше, если бы один из них в представлении назывался «Параметры синхронизации» или «Синхронизация». Эта опция фактически не выполняет действие Синхронизировать :)
O'Rooney

4
hg pull -r <branch name>  

Для получения дополнительной информации: /programming/5796908/mercurial-how-can-i-import-only-some-changesets-from-a-repository/5798221#5798221


1
Я отредактировал тело вопроса.
отметка

1
@ Каймар, это -bдля того, чтобы тянуть ветку. -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
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.