Применить исправления в ветке

#mercurial #tortoisehg

#mercurial #tortoisehg

Вопрос:

Я получаю исправления от участника. По-видимому, он производит исправления в магистрали. Тем не менее, я хотел бы зафиксировать его изменения в новой ветке. Могу ли я узнать, как я могу это сделать с помощью Tortoise-Hg?

Ответ №1:

Приведенные ниже инструкции предполагают, что вы хотите, чтобы исправления были изолированы на named branch .

Используя командную строку, легко применить исправления к новой именованной ветке. Однако, если вы хотите сделать это, используя только TortoiseHg, вы должны создать именованную ветку с пустой фиксацией перед применением исправлений.

С помощью командной строки:

 hg branch <branch name>
hg qimport --push <patch-file-1>
hg qimport --push <patch-file-2>
hg qfinish --applied
  

Использование TortoiseHg версии v1.1.x:

  1. Импортируйте файлы исправлений в свою очередь исправлений (без их применения).
  2. Создайте новую именованную ветку, используя пустой коммит:
    • Открыть диалоговое окно фиксации
    • Нажмите кнопку с надписью « branch: default «
    • Выберите « Open a new named branch «
    • Введите название вашего филиала в предоставленное текстовое поле
    • Нажмите OK кнопку.
    • Введите сообщение о фиксации (например, «Создана ветка для исправлений из «) и нажмите « Commit «.
  3. Применяйте исправления в вашей очереди исправлений (по одному или все вместе).
  4. Щелкните правой кнопкой мыши на исправлениях в вашей очереди исправлений и выберите « Finish Applied «

Использование TortoiseHg версии v2.0.x:

Будет работать тот же процесс, который использовался для TortoiseHg версии v1.1.x . Процесс создания именованной ветки с пустой фиксацией немного отличается, но общая концепция та же.

Комментарии:

1. По-видимому, это также возможно hg branch <branch name> в командной строке, а затем применить исправления через TortoiseHg, если вам так удобнее.

2. TortoiseHg v2.0 : Вам не нужно делать пустой коммит. Просто примените исправление, затем измените кнопку на QRefresh, и вы сможете изменить ветку обычным способом.

Ответ №2:

В TortoiseHg 2.7 обновите ветку, к которой вы хотите применить исправление (или создайте ее, если она не существует). Выберите Репозиторий > Импорт и используйте Обзор …, чтобы выбрать отдельный файл исправления, или просмотрите каталог… для импорта папки с исправлениями.

Комментарии:

1. 1 Сработало отлично и так просто

Ответ №3:

Исходная ветка, из которой пришло исправление, не имеет значения для hg import , если вы не используете эту опцию --exact . Итак, вы должны создать нужную ветку и применить исправление:

 hg branch new_branch
hg import /tmp/patch.txt