Differences between revisions 50 and 51
Revision 50 as of 2007-08-26 05:35:56
Size: 1380
Editor: 220
Comment:
Revision 51 as of 2007-08-26 05:35:57
Size: 3153
Editor: 220
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
== Bundled extensions ==
=== Core extensions ===
 * UsingHgk - how to use the GUI repository and history browser
 * MqExtension - Mercurial Patch Queues - manage changes as series of patches
 * UsingBisect - how to use the bisect extension to find bugs
 * UsingExtdiff - use external programs to compare changes
 * 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
= Using Mercurial extensions =
Mercurial features an extension mechanism for adding new commands.
Line 14: Line 4:
=== Additional extensions ===
 * ChurnExtension - Show statistics for mercurial operations
 * PurgeExtension - Purge all files and dirs in the repository that are not being tracked by Mercurial
Extensions allow the creation of new features and using them directly from the main hg command line as if they were builtin commands.
Line 18: Line 6:
== Non bundled extensions ==
 * ForestExtension - manage a bunch of mercurial repos as a meta repository, with snapshot support
 * TransplantExtension - cherry-picks patches and rebases branches
 * KeywordExpansionExtension - use CVS like keyword expansion in tracked files
== Finding existing extensions ==
Line 23: Line 8:
 See CategoryExtension for a more complete list and ExtensionHowto for a list of bundled 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''' || UsingHgk || Graphical repository and history browser based on gitk ||
|| '''bisect''' || UsingBisect || Quickly find the revision that introduces a bug or feature bisecting the history tree (O(log2(n)) ||
|| '''extdiff''' || UsingExtdiff || 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] ||
|| '''keyword expansion || KeywordExpansionExtension || use CVS like keyword expansion in tracked files ||


== 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 ExtensionHowto for more information about the installation and writing of new extensions.

Using Mercurial extensions

Mercurial features an extension mechanism for adding new commands.

Extensions allow the creation of new features and using them directly from the main hg command line as if they were builtin commands.

1. Finding existing extensions

1.1. Extensions Bundled with Mercurial

1.1.1. 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

UsingHgk

Graphical repository and history browser based on gitk

bisect

UsingBisect

Quickly find the revision that introduces a bug or feature bisecting the history tree (O(log2(n))

extdiff

UsingExtdiff

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

1.1.2. 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

1.2. 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]

keyword expansion

KeywordExpansionExtension

use CVS like keyword expansion in tracked files

2. 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 ExtensionHowto for more information about the installation and writing of new extensions.

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