Подтвердить что ты не робот

Создание патчей в Mercurial

Я искал это в руководстве, но я не могу создать патч для последнего коммита. Я попробовал

hg qnew patch_name

но он делает только файл с

# HG changeset patch
# Parent a6a8e225d16ff5970a8926ee8d24272a1c099f9c

Я также пробовал

hg export tip

но он ничего не делает. Я точно внес изменения.

Как сгенерировать файл исправления с последним фиксатором в?

4b9b3361

Ответ 1

Команда для этого - export:

$ hg export -o FILE -r REV

Он не требует перенаправления и, следовательно, корректно работает на любой платформе/оболочке.

Ответ 2

Ваш hg export tip - лучший способ сделать это, а ответы hg diff и hg log - это только меньшие версии. Что именно вы видите/получаете при вводе hg export tip? Что показывает вывод hg log -p -r tip?

Набор изменений tip - это просто "набор изменений, который недавно появился в моем репозитории", что не так полезно, как вы думаете, поскольку hg pull и hg tag все тоже создают изменения. Если вам действительно нужна последняя вещь, которую вы совершили, вам понадобится более точный revspec.

Ответ 3

Так же:

hg diff -r tip > tip.patch

Ответ 4

Вы можете использовать эту команду:

hg log -r tip -p > tip.patch

это приведет к созданию патча для этой версии.

Ответ 5

Если вы хотите преобразовать последнюю фиксацию файла исправления, используйте

hg qimport -r tip

Это заменит самый верхний регулярный фиксатор с помощью прикладного файла исправления MQ.

Ответ 6

Чтобы генерировать исправления с использованием "mq extensions" в mercurial, вы можете следовать приведенным ниже шагам. Это создаст патч с использованием mercurial:

1) Включение расширений mq: добавьте следующие строки в ваш hgrc файл и сохраните его.

[extensions]
mq =

2) Создание патча с использованием расширений mq: для создания патча с использованием расширений mq вы можете сделать следующее.

hg qnew -e -m "comment you want to enter" bug_name.patch

В приведенной выше команде флаг -e предназначен для редактирования патча, а флаг -m предназначен для добавления сообщения в патч.

3) Обновление патча: для обновления патча вы можете использовать следующую команду, когда патч уже применяется.

hg qrefresh