hg admin::chainsaw-update [OPTION] --rev REV --source SOURCE --dest DEST
псевдонимы: admin::chainsawupdate
pull and update to a given revision, no matter what, (EXPERIMENTAL)
Context of application: *some* Continuous Integration (CI) systems,
packaging or deployment tools.
Wanted end result: local repository at the given REPO_PATH, having the
latest changes to the given revision and with a clean working directory
updated at the given revision.
chainsaw-update pulls from one source, then updates the working directory
to the given revision, overcoming anything that would stand in the way.
By default, it will:
- clone if the local repo does not exist yet, **removing any directory
at the given path** that would not be a Mercurial repository.
The initial clone is full by default, so that clonebundles can be
applied. Use the --initial-clone-minimal flag to avoid this.
- break locks if needed, leading to possible corruption if there
is a concurrent write access.
- perform recovery actions if needed
- revert any local modification.
- purge unknown and ignored files.
- go as far as to reclone if everything else failed (not implemented yet).
DO NOT use it for anything else than performing a series
of unattended updates, with full exclusive repository access each time
and without any other local work than running build scripts.
In case the local repository is a share (see :hg:`help share`), exclusive
write access to the share source is also mandatory.
It is recommended to run these commands with the ``HGPLAIN`` environment
variable (see :hg:`scripting`).
Motivation: in Continuous Integration and Delivery systems (CI/CD), the
occasional remnant or bogus lock are common sources of waste of time (both
working time and calendar time). CI/CD scripts tend to grow with counter-
measures, often done in urgency. Also, whilst it is neat to keep
repositories from one job to the next (especially with large
repositories), an exceptional recloning is better than missing a release
deadline.
options:
======================= =======================================================================================================================================================================================================================
--[no-]purge-unknown Remove unversioned files before update. Disabling this can in some cases interfere with the update.See also :hg:`purge`. (по умолчанию: on)
--[no-]purge-ignored Remove ignored files before update. Disable this for instance to reuse previous compiler object files. See also :hg:`purge`. (по умолчанию: on)
--rev ЗНАЧЕНИЕ revision to update to
--source ЗНАЧЕНИЕ repository to clone from
--dest ЗНАЧЕНИЕ repository to update to REV (possibly cloning)
--initial-clone-minimal Pull only the prescribed revision upon initial cloning. This has the side effect of ignoring clone-bundles, which if often slower on the client side and stressful to the server than applying available clone bundles.
======================= =======================================================================================================================================================================================================================
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 КОНФИГ [+] задать/переопределить параметр конфигурации (в виде 'секция.параметр=значение')
--config-file HGRC [+] load config file to set/override config options
--debug включить отладочный вывод
--debugger запустить отладчик
--encoding КОДИРОВКА установить кодировку (по умолчанию: UTF-8)
--encodingmode РЕЖИМ установить режим кодировки (по умолчанию: strict)
--traceback всегда печатать трассировку стека при исключении
--time время выполнения команды
--profile профилирование выполнения команды
--version напечатать информацию о версии и выйти
-h --help показать справку и выйти
--hidden учитывать скрытые наборы изменений
--pager ТИП когда использовать прокрутку (логический. always (всегда), auto(автоматически) или never (никогда) (по умолчанию: auto)
== ====================== =======================================================================================================================