Help: extensions
Using Additional Features
Mercurial has the ability to add new features through the use of
extensions. Extensions may add new commands, add options to existing
commands, change the default behavior of commands, or implement hooks.
Extensions are not loaded by default for a variety of reasons: they can
increase startup overhead; they may be meant for advanced usage only; they
may provide potentially dangerous abilities (such as letting you destroy
or modify history); they might not be ready for prime time; or they may
alter some usual behaviors of stock Mercurial. It is thus up to the user
to activate extensions as needed.
To enable the "foo" extension, either shipped with Mercurial or in the
Python search path, create an entry for it in your configuration file,
like this:
[extensions]
foo =
You may also specify the full path to an extension:
[extensions]
myfeature = ~/.hgext/myfeature.py
To explicitly disable an extension enabled in a configuration file of
broader scope, prepend its path with !:
[extensions]
# disabling extension bar residing in /path/to/extension/bar.py
bar = !/path/to/extension/bar.py
# ditto, but no path was supplied for extension baz
baz = !
enabled extensions:
convert import revisions from foreign VCS repositories into
Mercurial
eol automatically manage newlines in repository files
fetch pull, update and merge in one command
highlight syntax highlighting for hgweb (requires Pygments)
pager browse command output with an external pager
disabled extensions:
acl hooks for controlling repository access
bugzilla hooks for integrating with the Bugzilla bug tracker
children command to display child changesets
churn command to display statistics about repository history
color colorize output from some commands
extdiff command to allow external programs to compare revisions
factotum http authentication with factotum
git push and pull from a Git server
gpg commands to sign and verify changesets
graphlog command to view revision graphs from a shell
hgcia hooks for integrating with the CIA.vc notification service
hgk browse the repository in a graphical way
inotify accelerate status report using Linux's inotify service
interhg expand expressions into changelog and summaries
keyword expand keywords in tracked files
largefiles track large binary files
mq manage a stack of patches
notify hooks for sending email push notifications
patchbomb command to send changesets as (a series of) patch emails
progress show progress bars for some actions
purge command to delete untracked files from the working
directory
rebase command to move sets of revisions to a different ancestor
record commands to interactively select changes for
commit/qrefresh
relink recreates hardlinks between repository clones
schemes extend schemes with shortcuts to repository swarms
share share a common history between several working directories
transplant command to transplant changesets from another branch
win32mbcs allow the use of MBCS paths with problematic encodings
win32text perform automatic newline conversion
zeroconf discover and advertise repositories on the local network