Я получаю патчи от автора. Видимо, он производит патчи в багажнике. Однако я хотел бы зафиксировать его изменения в новой ветке. Могу я узнать, как это сделать через Tortoise-Hg?
Применение патчей в ветке
Ответы (3)
Приведенные ниже указания предполагают, что вы хотите, чтобы исправления были изолированы на 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:
- Импортируйте файлы исправлений в свою очередь исправлений (не применяя их).
- Create a new named branch using an empty commit:
- Open a commit dialog
- Нажмите кнопку с надписью "
branch: default
" - Выберите "
Open a new named branch
" - Введите название вашего филиала в предоставленное текстовое поле
- Нажмите кнопку
OK
. - Введите сообщение фиксации (например, «Создана ветка для исправлений от») и нажмите «
Commit
».
- Примените исправления в очереди исправлений (по одному или все вместе).
- Щелкните правой кнопкой мыши патчи в очереди и выберите «
Finish Applied
».
Используя TortoiseHg v2.0.x:
Будет работать тот же процесс, что и для TortoiseHg v1.1.x. Процесс создания именованной ветки с пустой фиксацией немного отличается, но общая концепция та же.
hg branch <branch name>
в командной строке, а затем применять исправления через TortoiseHg, если вам так удобнее.
- person Farce; 17.04.2014
В TortoiseHg 2.7 обновите ветку, к которой вы хотите применить патч (или создайте ее, если она не существует). Выберите Repository > Import и используйте Browse..., чтобы выбрать отдельный файл исправления, или Browse Directory..., чтобы импортировать папку с исправлениями.
Исходная ветвь, откуда пришел патч, не имеет значения для hg import
, если вы не используете опцию --exact
. Итак, вы должны создать нужную ветку и применить патч:
hg branch new_branch
hg import /tmp/patch.txt