Differences between revisions 143 and 144
Revision 143 as of 2009-05-06 08:15:50
Size: 9911
Comment: Added casestop, makewritable and timestamp extensions
Revision 144 as of 2009-05-19 19:30:57
Size: 9921
Editor: localhost
Comment: converted to 1.6 markup
Deletions are marked like this. Additions are marked like this.
Line 23: Line 23:
|| '''hgcia''' || HgciaExtension || Send notifications to [http://cia.navi.cx CIA] || || '''hgcia''' || HgciaExtension || Send notifications to [[http://cia.navi.cx|CIA]] ||
Line 69: Line 69:
|| '''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] ||
|| '''ftp''' || ["FTPExtension"] || Manage uploaded snapshots on FTP server ||
|| '''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]] ||
|| '''ftp''' || [[FTPExtension]] || Manage uploaded snapshots on FTP server ||
Line 74: Line 74:
|| '''hgsubversion''' || HgSubversion || Use Mercurial as a [http://subversion.tigris.org/ Subversion] client || || '''hgsubversion''' || HgSubversion || Use Mercurial as a [[http://subversion.tigris.org/|Subversion]] client ||
Line 85: Line 85:
|| '''postreview''' || ReviewboardExtension || Post changesets for review to a [http://www.review-board.org/ Review Board] server || || '''postreview''' || ReviewboardExtension || Post changesets for review to a [[http://www.review-board.org/|Review Board]] server ||
Line 102: Line 102:
To load an extension, you add it to the "extensions" section of your [http://www.selenic.com/mercurial/hgrc.5.html .hgrc] file. To load an extension, you add it to the "extensions" section of your [[http://www.selenic.com/mercurial/hgrc.5.html|.hgrc]] file.

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. Extensions Bundled with Mercurial

Name

Page

Description

acl

AclExtension

Manage commit access to parts of a repo using control lists

alias

AliasExtension

user-defined command aliases

bisect

BisectExtension

Quickly find the revision that introduces a bug or feature bisecting the history tree (O(log(n)). Built-in since Mercurial 1.0

bookmarks

BookmarksExtension

Markers on commits that move on commit

bugzilla

BugzillaExtension

Update Bugzilla entries when a bug id is referenced in a changeset

children

ChildrenExtension

Display children revisions

churn

ChurnExtension

Show change statistics for mercurial operations per author

convert

ConvertExtension

Convert repositories from other SCMs into Mercurial

color

ColorExtension

Color output for the diff, status and qseries commands

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

hgcia

HgciaExtension

Send notifications to CIA

hgk

HgkExtension

Graphical repository and history browser based on gitk

highlight

HighlightExtension

Highlight syntax in the file revision view of hgweb

imerge

ImergeExtension

Perform interactive, interruptible merges

inotify

InotifyExtension

Use linux 2.6 inotify API for instantaneous status updates

interhg

InterhgExtension

This extension allows you to change changelog and summary text just like InterWiki way

keyword

KeywordExtension

use CVS like keyword expansion in tracked files

mq

MqExtension

Mercurial Patch Queues - manage changes as series of patches

notify

NotifyExtension

Send email to subscribed addresses to notify repository changes

pager

PagerExtension

Allows you to choose a pager

parentrevspec

ParentrevspecExtension

use foo^ to refer to the parent of revision foo

patchbomb

PatchbombExtension

Send a collection of changesets as a series of patch emails

purge

PurgeExtension

Purge all files and dirs in the repository that are not being tracked by Mercurial

rebase

RebaseExtension

move revisions from a point to another

record

RecordExtension

Select working directory changes to commit by hunk à la darcs record

transplant

TransplantExtension

Cherry-picking, rebasing and changeset rewriting

win32mbcs

Win32mbcsExtension

Allow to use shift_jis/big5 filenames on Windows.

win32text

Win32TextExtension

Manage line ending conversion for Windows repositories

zeroconf

ZeroconfExtension

Announce and browser respositories via zeroconf/bonjour

2. Extensions provided by others

Name

Page

Description

activity

ActivityExtension

Create an image representing the activity of the repository

attic

AtticExtension

Easily deal with individual patches

autopager

AutopagerExtension

Invoke pager when output is longer than one screen

boundmode

BoundModeExtension

Enables a bound mode (commit command auto-pushes)

casestop

CasestopExtension

Stops case-folding conflicts on commit

changelog

ChangelogExtension

Auto-generate commit message from changelog entry

chart

ChartExtension

Display activity graphs (see also ActivityExtension and ChurnExtension)

commits

CommitsExtension

Commit modified files as multiple changesets at once

config

ConfigExtensionCommandLine

Manage config files via command line only

config

ConfigExtension

Manage hgrc files via dialogs and command line

cutehg

CuteHgExtension

A growing set of easy to install and use dialogs for mercurial commands.

cvscommit

CvscommitExtension

Push changesets to CVS

defpasswd

DefpasswdExtension

Automatically provide credentials (username/passwords) read from a file.

deps

DepsExtension

Create and manage versioned repository dependencies

digest

DigestExtension

Create and use small digest files for outgoing/bundle

diffstat

DiffstatExtension

Shortcut commands for displaying diffstat

dotlog

DotLogExtension

Yet Another DOT grapher

easycommit

EasycommitExtension

Command-line GUI for committing changes

easymerge

EasymergeExtension

Command-line GUI for merging

fastimport

FastImportExtension

Read a git "fast import" stream and turn it into changesets in a Mercurial repository

fixcase

FixcaseExtension

Fix problems where an external tool has changed the case of a filename

fixutf8

FixUtf8Extension

Fix problems on non-utf8 systems with filenames (Windows never supports utf8 filenames)

foreign

ForeignExtension

Interactively register or delete foreign/unknown files

forest

ForestExtension

Manage a bunch of mercurial repos as a meta repository, with snapshot support thread

ftp

FTPExtension

Manage uploaded snapshots on FTP server

graphviz

GraphvizExtension

Generate DOT language source to visualize changeset tree

group

GroupExtension

Allow to visually regroup a set of changesets

hg-git

http://hg-git.github.com/

Push to and pull from a Git server

hgsubversion

HgSubversion

Use Mercurial as a Subversion client

hgtrac

HgTracExtension

Mercurial/Trac Integration Hook (pre/post hooks for Trac/Mercurial)

histedit

HisteditExtension

Edit, fold, drop changesets in the style of git rebase --interactive

histpush

HistpushExtension

Record locally which revisions have been pushed

info

InfoExtension

Display basic information about a repository

kerberos

KerberosExtension

Kerberos Authentication over HTTP support

localbranch

LocalbranchExtension

Create clones inside your working directory

makewritable

MakewritableExtension

Interactively removes read-only flags from files

mbox

MboxExtension

Import patches from unix mailboxes in MQ

nearest

NearestExtension

Display the nearest tag from a given changeset

pbranch

PatchBranchExtension

Collaborative and/or long-term patch development and maintenance

postreview

ReviewboardExtension

Post changesets for review to a Review Board server

qct

QctExtension

Provide access to the Qct commit tool

qtimes

QtimesExtension

Save or restore modification times of files affected by patch queue

qup

QupExtension

Move MQ patches to top of unapplied part of series

rcpath

RcpathExtension

Displays Mercurial configuration file paths and names

rdiff

RdiffExtension

Allow diff to work against remote repositories

reposettings

ReposettingsExtension

Allow repo specific configuration from central configuration files

schemes

SchemesExtension

Add shortcuts to urls as url schemes

send

SendExtension

Automatic send of bundle containing changesets missing on remote, like darcs send

sharedrepo

SharedRepoExtension

Let multiple working directories share the same repository

shelve

ShelveExtension

Interactively select changes to set aside

sonichg

SonicHgExtension

Record pushlog data, web interfaces to view pushlog & shortlog with slider, advanced search for pushlog, new file log page, full side-by-side diffs, regex filter, commit syntax warning and more!

tasks

TasksExtension

Manage tasks as collections of contiguous changesets

timestamp

TimestampExtension

Saves and restores file timestamps

3. Enabling an extension

To load an extension, you add it to the "extensions" section of your .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.


CategoryExtension

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