hg graft [OPTION]... [-r REV]... REV...
копировать изменения с другой ветки в текущую
Эта команда использует возможности слияния Mercurial, чтобы скопировать отдельные изменения из других веток без полного слияния веток в графе истории. Иногда эту операцию также называют 'бэкпортирование' ('backporting') или 'cherry-picking'. По умолчанию graft копирует имя автора, даты и описание из ревизии-источника.
Наборы изменений, являющиеся предками текущей ревизии, и к которым уже была применена операция graft, а также ревизии слияния будут пропущены.
Если указан --log, к журнальным сообщениям будет добавлен комментарий вида:
(перенесено из ХЭШРЕВИЗИИ)
If --force is specified, revisions will be grafted even if they are already ancestors of, or have been grafted to, the destination. This is useful when the revisions have since been backed out.
Если во время операции graft возникает конфликт, операция отменяется для того, чтобы текущее слияние было завершено вручную. После разрешения всех конфликтов, можно продолжить процесс с помощью параметра -c/--continue.
The -c/--continue option reapplies all the earlier options.
The --base option exposes more of how graft internally uses merge with a custom base revision. --base can be used to specify another ancestor than the first and only parent.
The command:
hg graft -r 345 --base 234
is thus pretty much the same as:
hg diff --from 234 --to 345 | hg import
but using merge to resolve conflicts and track moved files.
The result of a merge can thus be backported as a single commit by specifying one of the merge parents as base, and thus effectively grafting the changes from the other side.
It is also possible to collapse multiple changesets and clean up history by specifying another ancestor as base, much like rebase --collapse --keep.
The commit message can be tweaked after the fact using commit --amend .
For using non-ancestors as the base to backout changes, see the backout command and the hidden --parent option.
Примеры:
hg update stable hg graft --edit 9393
hg graft -D "2085::2093 and not 2091"
hg graft -c
hg log --debug -r .
hg log -r "sort(all(), date)"
hg graft -r 123 --base 123^
hg up -cr default hg graft -r featureX --base "ancestor('featureX', 'default')"
See 'hg help revisions' for more about specifying revisions.
Returns 0 on successful completion, 1 if there are unresolved files.
options ([+] can be repeated):
-r | --rev РЕВИЗИЯ [+] | ревизии для переноса |
--base РЕВИЗИЯ | base revision when doing the graft merge (ADVANCED) | |
-c | --continue | возобновить прерванную операцию graft |
--stop | stop interrupted graft | |
--abort | abort interrupted graft | |
-e | --edit | вызвать редактор для создания сообщения фиксации |
--log | добавить информацию о переносе в журнальное сообщение | |
--no-commit | don't commit, just apply the changes in working directory | |
-f | --force | force graft |
-D | --currentdate | использовать текущую дату в качестве даты фиксации |
-U | --currentuser | использовать текущего пользователя как автора фиксации |
-d | --date ДАТА | использовать эту дату в качестве даты фиксации |
-u | --user ПОЛЬЗОВАТЕЛЬ | использовать этого пользователя как автора фиксации |
-t | --tool TOOL | задать инструмент слияния |
-n | --dry-run | ничего реально не делать, просто напечатать вывод |
global options ([+] can be repeated):
-R | --repository ХРАНИЛИЩЕ | корневой каталог хранилища или имя файла комплекта |
--cwd КАТАЛОГ | сменить рабочий каталог | |
-y | --noninteractive | не спрашивать, на все вопросы автоматически выбирать первый вариант |
-q | --quiet | подавлять вывод |
-v | --verbose | включить дополнительный вывод |
--color ТИП | when to colorize (boolean, always, auto, never, or debug) | |
--config КОНФИГ [+] | задать/переопределить параметр конфигурации (в виде 'секция.параметр=значение') | |
--debug | включить отладочный вывод | |
--debugger | запустить отладчик | |
--encoding КОДИРОВКА | установить кодировку (по умолчанию: UTF-8) | |
--encodingmode РЕЖИМ | установить режим кодировки (по умолчанию: strict) | |
--traceback | всегда печатать трассировку стека при исключении | |
--time | время выполнения команды | |
--profile | профилирование выполнения команды | |
--version | напечатать информацию о версии и выйти | |
-h | --help | показать справку и выйти |
--hidden | учитывать скрытые наборы изменений | |
--pager ТИП | когда использовать прокрутку (логический. always (всегда), auto(автоматически) или never (никогда) (по умолчанию: auto) |