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

В 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 = !

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

highlight
подсветка синтаксиса для hgweb (требует Pygments)

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

absorb
apply working directory changes to changesets (EXPERIMENTAL)
acl
хуки для контроля доступа к хранилищу
amend
provide the amend command (EXPERIMENTAL)
automv
check for unrecorded moves at commit time (EXPERIMENTAL)
beautifygraph
beautify log -G output by using Unicode characters (EXPERIMENTAL)
blackbox
запись событий хранилища в "черный ящик" для отладки
bookflow
implements bookmark-based branching (EXPERIMENTAL)
bugzilla
хуки для интеграции с Bugzilla bug tracker
censor
erase file content at a given revision
children
команда для отображения дочерних наборов изменений (УСТАРЕЛО)
churn
команда для отображения статистики об истории хранилища
clonebundles
advertise pre-generated bundles to seed clones
closehead
close arbitrary heads without checking them out first
commitextras
adds a new flag extras to commit (ADVANCED)
convert
импортирует ревизии из хранилищ других систем контроля версий в Mercurial
eol
автоматический перевод форматов новой строки в хранилище
extdiff
позволяет сравнивать ревизии с помощью внешних программ
factotum
http-аутентификация через factotum
fastannotate
yet another annotate implementation that might be faster (EXPERIMENTAL)
fastexport
export repositories as git fast-import stream
fetch
затянуть, обновиться и слить одной командой (УСТАРЕЛО)
fix
rewrite file content in changesets or working copy (EXPERIMENTAL)
fsmonitor
Faster status operations with the Watchman file monitor (EXPERIMENTAL)
git
grant Mercurial the ability to operate on Git repositories. (EXPERIMENTAL)
githelp
try mapping git commands to Mercurial commands
gpg
команды для подписи и проверки наборов изменений
graphlog
команда для просмотра графа ревизий в командной строке (УСТАРЕЛО)
hgk
графический обозреватель хранилища
histedit
интерактивное редактирование истории
hooklib
collection of simple hooks for common tasks (EXPERIMENTAL)
infinitepush
store some pushes in a remote blob store on the server (EXPERIMENTAL)
journal
track previous positions of bookmarks (EXPERIMENTAL)
keyword
выполнять подстановку ключевых слов в отслеживаемых файлах
largefiles
отслеживает большие бинарные файлы
lfs
lfs - large file support (EXPERIMENTAL)
logtoprocess
send ui.log() data to a subprocess (EXPERIMENTAL)
mq
управление стеком патчей
narrow
create clones which fetch history data for subset of files (EXPERIMENTAL)
notify
хуки для отправки уведомлений о новых изменениях по email
pager
browse command output with an external pager (DEPRECATED)
patchbomb
команда для отправки наборов изменений в виде (серии) email с патчами
phabricator
simple Phabricator integration (EXPERIMENTAL)
purge
command to delete untracked files from the working directory (DEPRECATED)
rebase
команда для перемещения наборов ревизий к другому предку
record
commands to interactively select changes for commit/qrefresh (DEPRECATED)
releasenotes
generate release notes from commit messages (EXPERIMENTAL)
relink
заново создает жесткие ссылки между клонами хранилища
remotefilelog
remotefilelog causes Mercurial to lazilly fetch file contents (EXPERIMENTAL)
remotenames
showing remotebookmarks and remotebranches in UI (EXPERIMENTAL)
schemes
расширяет схемы в путях сокращениями для групп хранилищ
share
разделить общую историю между несколькими рабочими каталогами
show
unified command to show various repository information (EXPERIMENTAL)
sparse
allow sparse checkouts of the working directory (EXPERIMENTAL)
split
command to split a changeset into smaller ones (EXPERIMENTAL)
sqlitestore
store repository data in SQLite (EXPERIMENTAL)
strip
strip changesets and their descendants from history (DEPRECATED)
transplant
команда для пересадки наборов изменений из другой ветки
uncommit
uncommit part or all of a local changeset (EXPERIMENTAL)
win32mbcs
разрешает использование путей в MBCS с проблемными кодировками
win32text
выполнять автоматическое преобразование формата новой строки (УСТАРЕЛО)
zeroconf
обнаруживать и оповещать о хранилищах в локальной сети