Mercurial правильный способ вернуться в ветку по умолчанию - PullRequest
3 голосов
/ 18 ноября 2011

Мы разрабатываем новые модули для нашего приложения в отдельных филиалах. После проверки они объединяются в ветку по умолчанию. Когда нам нужно внести изменения в модуль, мы снова открываем ветку, вносим изменения, тестируем и, наконец, снова входим в ветку по умолчанию.

Иногда при обновлении модуля мы выявляем ошибки в нашем основном коде. Часто мы исправляем ошибку и затем фиксируем изменения обратно в ветку по умолчанию. Однако, поскольку мы находимся в ветке модуля, мы должны снова открыть «default».

Это не дало желаемого эффекта, так как мы получили 2 ветви по умолчанию.

Так каков правильный способ фиксации «по умолчанию», когда вы находитесь в другой ветке, не теряя изменения? (желательно используя TortoiseHg).

Ниже приведен скриншот диалогового окна TortoiseHg, в котором я выбираю ветку «по умолчанию», после чего следует, что происходит с графиком.

opening default branch

1 Ответ

8 голосов
/ 18 ноября 2011
  1. hg update default
  2. внести изменения
  3. hg commit
  4. hg update modulebranch

Если вы правильно описали свой рабочий процесс, он должен работать без создания какой-либо новой головы или чего-либо еще.

Если вам нужно получить изменения в ветке вашего модуля, вы можете добавить hg merge default в качестве пятого шага.

Если у вас есть незафиксированные изменения в вашем хранилище и вы не хотите фиксировать их перед обновлением по умолчанию, вы можете использовать расширение полки , например, или просто сохранить содержимое hg diff в файл, который вы позже примените с hg patch.

...