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 = ! disabled extensions: acl hooks for controlling repository access bugzilla hooks for integrating with the Bugzilla bug tracker children command to display child changesets (DEPRECATED) churn command to display statistics about repository history color colorize output from some commands convert import revisions from foreign VCS repositories into Mercurial eol automatically manage newlines in repository files extdiff command to allow external programs to compare revisions factotum http authentication with factotum fetch pull, update and merge in one command (DEPRECATED) 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 highlight syntax highlighting for hgweb (requires Pygments) histedit interactive history editing 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 pager browse command output with an external pager 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