#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:
- Импортируйте файлы исправлений в свою очередь исправлений (без их применения).
- Создайте новую именованную ветку, используя пустой коммит:
- Открыть диалоговое окно фиксации
- Нажмите кнопку с надписью «
branch: default
« - Выберите «
Open a new named branch
« - Введите название вашего филиала в предоставленное текстовое поле
- Нажмите
OK
кнопку. - Введите сообщение о фиксации (например, «Создана ветка для исправлений из «) и нажмите «
Commit
«.
- Применяйте исправления в вашей очереди исправлений (по одному или все вместе).
- Щелкните правой кнопкой мыши на исправлениях в вашей очереди исправлений и выберите «
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