Использование дополнительных возможностей

В Mercurial можно добавлять новые функции с помощью расширений. Расширения могут добавлять новые команды, опции к существующим командам, изменять поведение команд, реализовывать хуки.

Чтобы включить расширение "foo", включенное в дистрибутив Mercurial или доступное по известным Python'у путям, создайте запись в вашем файле конфигурации:

[extensions]
foo =

Можно также указать полный путь к расширению:

[extensions]
myfeature = ~/.hgext/myfeature.py

См. "hg help config" для справки по файлам конфигурации.

Расширения не загружаются по умолчанию по многим причинам: они могут увеличить время запуска; они могут подразумевать только использование опытными пользователями; они могут предоставлять потенциально опасные возможности (например, позволяя стирать или изменять историю); они могут быть не готовы к мажорному релизу; или они могут менять стандартное поведение Mercurial. Поэтому пользователь должен включать расширения по мере надобности.

Чтобы явно отключить расширение, включенное в файле конфигурации охватывающей области действия, добавьте перед ним !:

[extensions]
# отключить расширение bar, находящееся в /path/to/extension/bar.py
bar = !/path/to/extension/bar.py
# то же, но путь для расширения baz не был указан
baz = !

Включенные расширения:

color
раскрашивает вывод некоторых команд
convert
импортирует ревизии из хранилищ других систем контроля версий в Mercurial
graphlog
команда для просмотра графа ревизий в командной строке (УСТАРЕЛО)
progress
показать индикаторы выполнения для некоторых действий

отключенные расширения:

acl
хуки для контроля доступа к хранилищу
blackbox
запись событий хранилища в "черный ящик" для отладки
bugzilla
хуки для интеграции с Bugzilla bug tracker
children
команда для отображения дочерних наборов изменений (УСТАРЕЛО)
churn
команда для отображения статистики об истории хранилища
eol
автоматический перевод форматов новой строки в хранилище
extdiff
позволяет сравнивать ревизии с помощью внешних программ
factotum
http-аутентификация через factotum
fetch
затянуть, обновиться и слить одной командой (УСТАРЕЛО)
gpg
команды для подписи и проверки наборов изменений
hgcia
хуки для интеграции с сервисом уведомлений CIA.vc
hgk
графический обозреватель хранилища
highlight
подсветка синтаксиса для hgweb (требует Pygments)
histedit
интерактивное редактирование истории
keyword
выполнять подстановку ключевых слов в отслеживаемых файлах
largefiles
отслеживает большие бинарные файлы
mq
управление стеком патчей
notify
хуки для отправки уведомлений о новых изменениях по email
pager
просмотр вывода команд с прокруткой с помощью внешней программы
patchbomb
команда для отправки наборов изменений в виде (серии) email с патчами
purge
команда для удаления неотслеживаемых файлов из рабочего каталога
rebase
команда для перемещения наборов ревизий к другому предку
record
команды для интерактивного выбора изменений для commit/qrefresh
relink
заново создает жесткие ссылки между клонами хранилища
schemes
расширяет схемы в путях сокращениями для групп хранилищ
share
разделить общую историю между несколькими рабочими каталогами
shelve
отложить и восстановить изменения рабочего каталога
strip
срезать наборы изменений и их потомков из истории
transplant
команда для пересадки наборов изменений из другой ветки
win32mbcs
разрешает использование путей в MBCS с проблемными кодировками
win32text
выполнять автоматическое преобразование формата новой строки (УСТАРЕЛО)
zeroconf
обнаруживать и оповещать о хранилищах в локальной сети