Добавление незарегистрированных изменений в новый патч с помощью очередей Mercurial
-
27-09-2019 - |
Вопрос
Процесс создания патчей в Mercurial заключается в следующем:
Создать патч с qnew -> вносить изменения -> Обновить патч
Что, если я уже сделаю (незабываемые) изменения, и я хочу добавить их в очередь?
Решение
Это зависит от вашей версии, и похоже, что она изменилась в 1.5.1.
1.5.1 или позже
Команда добавит какие-либо незарегистрированные изменения по умолчанию
QNew создает новый патч поверх наносимого в настоящее время нанесенного патча (если есть). Патч будет инициализирован любыми выдающимися изменениями в рабочем каталоге.
ранее, чем 1.5.1
Вы хотите использовать qnew -f
. Отказ Из документы:
-F: создайте новый патч, если содержимое рабочего каталога изменено. Любые выдающиеся модификации добавляются к вновь созданному патче, поэтому после завершения этой команды рабочий каталог больше не будет модифицирован.
Другие советы
На самом деле, процесс исправления работает так же, есть ли незаменимые изменения или нет. Я всегда делаю это следующим образом:
[... make changes ...]
hg qnew -m "foo bar changes" foobar.patch
--> new empty patch at top of queue
hg qrefresh
--> this adds all diffs from 'hg diff' into the current top patch
Редактировать: @casebash правильно указал, что я ошибаюсь в текущем поведении по умолчанию!