Применить патчи в ветке - PullRequest
9 голосов
/ 26 апреля 2011

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

Ответы [ 3 ]

12 голосов
/ 26 апреля 2011

Приведенные ниже указания предполагают, что вы хотите, чтобы патчи были изолированы на 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. Процесс создания именованной ветви с пустым коммитом немного отличается, но общая концепция та же.

3 голосов
/ 23 мая 2013

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

1 голос
/ 23 мая 2013

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

hg branch new_branch
hg import /tmp/patch.txt
...