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

18240
mark

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

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

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

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

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

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

Благодарю.

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

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

13
Вы пытались сделать это из верстака? Я не использую Hg на работе, поэтому я не могу проверить это здесь. MBraedley 12 лет назад 0
Я использую верстак все время, и я мог найти там любую опцию, которая указала бы, чтобы она вытягивала только текущую или определенную ветку. mark 12 лет назад 0

2 ответа на вопрос

11
afrazier

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

Кажется, это работает. Я бы посоветовал указать `.` в качестве имени ветви, таким образом, оно будет _всегда_ указывать на ветку, над которой вы работаете. Helgi 12 лет назад 2
Просто примечание для других: в меню «Репозиторий» есть запись «Синхронизировать». Это ** не ** запись, которую вы ищете. George Marian 8 лет назад 2
@ GeorgeMarian - это хорошо. Было бы намного лучше, если бы один из них в представлении назывался «Параметры синхронизации» или «Синхронизация». Эта опция фактически не выполняет действие Synchronize :) O'Rooney 7 лет назад 0
4
Kamyar
hg pull -r <branch name> 

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

Я отредактировал тело вопроса. mark 12 лет назад 1
@Kaymar it is `-b` for pulling a branch. `-r` is for a revision. From help for `hg pull`: `-r --rev REV [+] a remote changeset intended to be added ... -b --branch BRANCH [+] a specific branch you would like to pull` DaveInCaz 7 лет назад 1

Похожие вопросы