Differences between revisions 55 and 56
Revision 55 as of 2007-08-26 05:39:14
Size: 3694
Editor: 220
Comment:
Revision 56 as of 2007-08-26 05:40:30
Size: 489
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
 * 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
Line 5: Line 8:
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 ||
|| '''bisect''' || BisectExtension || Quickly find the revision that introduces a bug or feature bisecting the history tree (O(log(n)) ||
|| '''bugzilla''' || BugzillaExtension || Update Bugzilla entries when a bug id is referenced in a changeset ||
|| '''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 ||
|| '''graphlog''' || GraphlogExtension || Show revision history alongside an ASCII revision graph ||
|| '''hgk''' || HgkExtension || Graphical repository and history browser based on gitk ||
|| '''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] ||
|| '''inotify''' || InotifyExtension || Use linux 2.6 inotify API for instantaneous status updates ||
|| '''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.

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