Differences between revisions 58 and 60 (spanning 2 versions)
Revision 58 as of 2007-08-26 05:41:30
Size: 3489
Editor: 220
Comment:
Revision 60 as of 2007-08-26 05:42:10
Size: 1068
Editor: 220
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
## page was renamed from Extensions
= Using Mercurial extensions =
Mercurial features an extension mechanism for adding new commands.
 * UsingHgk - how to use the GUI repository browser
 * MqExtension - Mercurial Patch Queues - manage changes as series of patches
 * UsingBisect - how to use the bisect extension to find bugs
 * TransplantExtension - cherry-picks patches and rebases branches
 * UsingExtdiff - use external programs to compare changes
 * ForestExtension - manage a bunch of mercurial repos as a meta repository, with snapshot support
 * ChurnExtension - Show statistics for mercurial operations
 * ACLExtension - Manage commit access to parts of a repo using control lists
 * BugzillaExtension - Update bugzilla entries when a bug id is referenced in a changeset
 * FetchExtension - Conveniently pull and merge or update to the tip revision
 * GpgExtension - Sign and check changesets using GPG
 * NotifyExtension - Email notifications to subscribed addresses after commits to a repo
 * PatchbombExtension - Send a collection of changesets as a series of patch emails
Line 5: Line 15:
Extensions allow the creation of new features and using them directly from the main hg command line as if they were builtin commands.

== Finding existing extensions ==

=== Extensions Bundled with Mercurial ===
==== Core extensions ====

|| ''Name'' || ''Page'' || ''Description'' ||
|| '''acl''' || AclExtension || Manage commit access to parts of a repo using control lists ||
|| '''bugzilla''' || BugzillaExtension || Update Bugzilla entries when a bug id is referenced in a changeset ||
|| '''hgk''' || HgkExtension || Graphical repository and history browser based on gitk ||
|| '''bisect''' || BisectExtension || Quickly find the revision that introduces a bug or feature bisecting the history tree (O(log(n)) ||
|| '''extdiff''' || ExtdiffExtension || Compare changes using external programs ||
|| '''fetch''' || FetchExtension || Conveniently pull, merge and update in one step ||
|| '''gpg''' || GpgExtension || Sign changesets and check signatures using GPG ||
|| '''mq''' || MqExtension || Mercurial Patch Queues - manage changes as series of patches ||
|| '''notify''' || NotifyExtension || Send email to subscribed addresses to notify repository changes ||
|| '''patchbomb''' || PatchbombExtension || Send a collection of changesets as a series of patch emails ||
|| '''transplant''' || TransplantExtension || Cherry-picking, rebasing and changeset rewriting ||
|| '''win32text''' || Win32Extension || Manage line ending conversion for Windows repositories ||

==== Additional extensions ====

|| ''Name'' || ''Page'' || ''Description'' ||
|| '''churn''' || ChurnExtension || Show change statistics for mercurial operations per author ||
|| '''purge''' || PurgeExtension || Purge all files and dirs in the repository that are not being tracked by Mercurial ||

=== Extensions provided by others ===

|| ''Name'' || ''Page'' || ''Description'' ||
|| '''forest''' || ForestExtension || Manage a bunch of mercurial repos as a meta repository, with snapshot support [http://www.selenic.com/pipermail/mercurial/2006-July/009336.html thread] ||
|| '''hgcia''' || HgciaExtension || Send notifications to [http://cia.navi.cx CIA] ||
|| '''keyword expansion''' || KeywordExpansionExtension || use CVS like keyword expansion in tracked files ||
|| '''send''' || SendExtension || Automatic send of bundle containing changesets missing on remote, like darcs send ||
|| '''Qct''' || QctExtension || provide access to the Qct commit tool ||


== Enabling an extension ==

To load an extension, you add it to the "extensions" section of your [http://www.selenic.com/mercurial/hgrc.5.html .hgrc] file.

Mercurial will scan the default python library path for a file named {{{hgk.py}}} if you set {{{hgk}}} empty:

{{{
[extensions]
hgk=
}}}

Extensions are usually located in the hgext directory, and that is the recommended directory to place them. In this case you can load them like:

{{{
[extensions]
hgext.hgk=
}}}

You can also specify an absolute path:

{{{
[extensions]
hgk=/usr/local/lib/hgk.py
}}}

Extensions can often be configured further in an extension specific section in the same configuration file.



See CategoryExtension for a more complete list and WritingExtensions for more information about the installation and writing of new extensions.
 See CategoryExtension for a more complete list and ExtensionHowto for a list of bundled extensions.
  • UsingHgk - how to use the GUI repository browser

  • MqExtension - Mercurial Patch Queues - manage changes as series of patches

  • UsingBisect - how to use the bisect extension to find bugs

  • TransplantExtension - cherry-picks patches and rebases branches

  • UsingExtdiff - use external programs to compare changes

  • ForestExtension - manage a bunch of mercurial repos as a meta repository, with snapshot support

  • ChurnExtension - Show statistics for mercurial operations

  • ACLExtension - Manage commit access to parts of a repo using control lists
  • BugzillaExtension - Update bugzilla entries when a bug id is referenced in a changeset

  • FetchExtension - Conveniently pull and merge or update to the tip revision

  • GpgExtension - Sign and check changesets using GPG

  • NotifyExtension - Email notifications to subscribed addresses after commits to a repo

  • PatchbombExtension - Send a collection of changesets as a series of patch emails

    See CategoryExtension for a more complete list and ExtensionHowto for a list of bundled extensions.

UsingExtensions (last edited 2022-06-28 16:47:05 by ArneBab)