docs/master

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

    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
     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
     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)
     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