Добавление незафиксированного изменения в новый патч с очередями Mercurial - PullRequest
5 голосов
/ 05 октября 2010

Процесс создания исправлений в Mercurial выглядит следующим образом:

Создание патча с помощью qnew -> Внести изменения -> Обновить патч

Что, если я уже внес (незафиксированные) изменения и хочу добавить их в очередь?

Ответы [ 2 ]

3 голосов
/ 05 октября 2010

Это зависит от вашей версии, и похоже, что она изменилась в 1.5.1.

1.5.1 или более поздней версии

Команда добавит все незафиксированные измененияпо умолчанию

qnew создает новый патч поверх применяемого в данный момент патча (если есть).Патч будет инициализирован с любыми ожидающими изменениями в рабочем каталоге.

ранее, чем 1.5.1

Вы хотите использовать qnew -f.Из документов :

-f: создать новое исправление, если содержимое рабочего каталога было изменено.Все незавершенные изменения добавляются во вновь созданное исправление, поэтому после выполнения этой команды рабочий каталог больше не будет изменен.

0 голосов
/ 05 октября 2010

На самом деле процесс исправления работает одинаково, независимо от того, есть незафиксированные изменения или нет. Я всегда делаю это следующим образом:

[... 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 правильно указал, что я не прав насчет текущего поведения по умолчанию!

...