Size: 5033
Comment:
|
Size: 5058
Comment: cat
|
Deletions are marked like this. | Additions are marked like this. |
Line 89: | Line 89: |
---- CategoryExtension |
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 |
Manage commit access to parts of a repo using control lists |
|
alias |
user-defined command aliases |
|
bisect |
Quickly find the revision that introduces a bug or feature bisecting the history tree (O(log(n)) |
|
bugzilla |
Update Bugzilla entries when a bug id is referenced in a changeset |
|
children |
Display children revisions |
|
convert |
Convert repositories from other SCMs into Mercurial |
|
extdiff |
Compare changes using external programs |
|
fetch |
Conveniently pull, merge and update in one step |
|
gpg |
Sign changesets and check signatures using GPG |
|
graphlog |
Show revision history alongside an ASCII revision graph |
|
hgk |
Graphical repository and history browser based on gitk |
|
imerge |
Perform interactive, interruptible merges |
|
mq |
Mercurial Patch Queues - manage changes as series of patches |
|
notify |
Send email to subscribed addresses to notify repository changes |
|
patchbomb |
Send a collection of changesets as a series of patch emails |
|
record |
Select working directory changes to commit by hunk à la darcs record |
|
transplant |
Cherry-picking, rebasing and changeset rewriting |
|
win32text |
Manage line ending conversion for Windows repositories |
1.1.2. Additional extensions
Name |
Page |
Description |
churn |
Show change statistics for mercurial operations per author |
|
purge |
Purge all files and dirs in the repository that are not being tracked by Mercurial |
1.2. Extensions provided by others
Name |
Page |
Description |
cvscommit |
Push changesets to CVS |
|
config |
Manage hgrc files via dialogs and command line |
|
digest |
Create and use small digest files for outgoing/bundle |
|
diffstat |
Shortcut commands for displaying diffstat |
|
easycommit |
Command-line GUI for committing changes |
|
easymerge |
Command-line GUI for merging |
|
forest |
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 |
Send notifications to [http://cia.navi.cx CIA] |
|
inotify |
Use linux 2.6 inotify API for instantaneous status updates |
|
localbranch |
Create clones inside your working directory |
|
keyword expansion |
use CVS like keyword expansion in tracked files |
|
parentrevspec |
use foo^ to refer to the parent of revision foo |
|
rdiff |
allow diff to work against remote repositories |
|
send |
Automatic send of bundle containing changesets missing on remote, like darcs send |
|
qct |
provide access to the Qct commit tool |
|
graphviz |
generate DOT language source to visualize changeset tree |
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 WritingExtensions for more information about the installation and writing of new extensions.