Differences between revisions 310 and 399 (spanning 89 versions)
Revision 310 as of 2013-01-15 17:46:44
Size: 22001
Editor: proxy01
Comment: Add link to untouch extension
Revision 399 as of 2022-06-28 16:47:05
Size: 27862
Editor: ArneBab
Comment:
Deletions are marked like this. Additions are marked like this.
Line 13: Line 13:

Note that Mercurial explicitly does '''not''' provide a ''stable API'' for extension programmers, so it is up to their respective providers/maintainers to adapt them to [[ApiChanges|API changes]].
Line 27: Line 29:
To get an extension which is not shipped with Mercurial, just download it to any place in your filesystem. In the example above it was downloaded to {{{~/.hgext/}}}. To get an extension which is not shipped with Mercurial, just download it to any place in your filesystem. In the example above it was downloaded to {{{~/.hgext/}}}. '''NB: On Windows, if the path refers to a directory then the trailing backwards slash must currently be omitted due to Bts:issue4187.'''
Line 42: Line 44:
Line 44: Line 47:
||'''alias''' ||AliasExtension ||User-defined command aliases ('''built-in since Mercurial 1.3''') ||
||'''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 ('''built-in since Mercurial 1.8''') ||
||'''blackbox''' ||BlackboxExtension ||Log events to .hg/blackbox.log for post-mortem debugging ||
Line 48: Line 49:
||'''children''' ||ChildrenExtension ||Display children revisions || ||'''censor''' ||CensorExtension || Erase file content at a given revision ||
Line 50: Line 51:
||'''clonebundles''' ||ClonebundlesExtension || Advertise pre-generated bundles to seed clones ||
||'''closehead''' ||CloseHeadExtension ||Close arbitrary heads without checking them out first ||
||'''color''' ||ColorExtension || (obsolete) Color output for the diff, status and qseries commands ||
||'''commitextras''' ||CommitExtrasExtension || (advanced) Adds a new flag extras to commit ||
Line 51: Line 56:
||'''color''' ||ColorExtension ||Color output for the diff, status and qseries commands ||
Line 55: Line 59:
||'''fetch''' ||FetchExtension ||Conveniently pull, merge and update in one step || ||'''fastexport''' ||FastExportExtension ||Export repositories as git fast-import stream ||
||'''fsmonitor''' ||FsMonitorExtension ||Integrates the file-monitoring program watchman with Mercurial to produce faster status results. ||
||'''githelp''' ||GitHelpExtension ||try mapping git commands to Mercurial commands ||
Line 57: Line 63:
||'''graphlog''' ||GraphlogExtension ||Show revision history alongside an ASCII revision graph ||
||'''hgcia''' ||HgciaExtension ||Send notifications to [[http://cia.navi.cx|CIA]] ||
||'''hgcia''' ||HgciaExtension || (dead) Send notifications to [[http://cia.navi.cx|CIA]] ||
Line 62: Line 67:
||'''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 ||
Line 69: Line 72:
||'''parentrevspec''' ||ParentrevspecExtension ||Use `foo^` to refer to the parent of revision `foo` ||
Line 71: Line 73:
||'''progress''' ||ProgressExtension ||Show progress bars for some actions (new in 1.5) ||
Line 74: Line 75:
||'''record''' ||RecordExtension ||Select working directory changes to commit by hunk à la darcs record ||
Line 78: Line 78:
||'''shelve''' ||ShelveExtension || Save and restore changes to the working directory ||
||'''strip''' ||StripExtension || Strip changesets and their descendants from history ||
Line 80: Line 82:
||'''win32text''' ||Win32TextExtension ||Manage line ending conversion for Windows repositories ||
||'''zeroconf''' ||ZeroconfExtension ||Announce and browse respositories via zeroconf/bonjour ||


||'''zeroconf''' ||ZeroconfExtension ||Announce and browse repositories via zeroconf/bonjour ||

=== Deprecated ===
/!\ These extensions are deprecated.
||'''children''' ||ChildrenExtension ||Command to display child changesets ||
||'''fetch''' ||FetchExtension ||Pull, update and merge in one command ||
||'''graphlog''' ||GraphlogExtension ||Command to view revision graphs from a shell ||
||'''record''' ||RecordExtension ||Commands to interactively select changes for commit/qrefresh ||
||'''win32text''' ||Win32TextExtension ||Perform automatic newline conversion ||

=== Experimental ===
/!\ These extensions are experimental.
||'''absorb''' ||AbsorbExtension ||Apply working directory changes to changesets ||
||'''amend''' ||AmendExtension ||Provide the amend command ||
||'''automv''' ||AutomvExtension ||Automatically detect file renames ||
||'''beautifygraph''' ||BeautifyGraphExtension ||Beautify log -G output by using Unicode characters ||
||'''bookflow''' ||BookflowExtension ||Implements bookmark-based branching ||
||'''fastannotate''' ||FastAnnotateExtension ||Yet another annotate implementation that might be faster ||
||'''fix''' ||FixExtension ||Rewrite file content in changesets or working copy ||
||'''git''' ||GitExtension ||Operate on Git repositories ||
||'''hooklib''' ||HookLibExtension ||Simple hooks for common tasks ||
||'''infinitepush''' ||InfinitePushExtension ||Store some pushes in a remote blob store on the server ||
||'''journal''' ||JournalExtension ||Track previous positions of bookmarks ||
||'''lfs''' ||LfsExtension ||lfs - large file support ||
||'''logtoprocess''' ||LogToProcessExtension ||Send ui.log() data to a subproces ||
||'''narrowhg''' || (hg help narrow) ||Download only part of the history, see [[NarrowClonePlan]] ||
||'''phabricator''' ||PhabricatorExtension ||Simple Phabricator integration ||
||'''releasenotes''' ||ReleaseNotesExtension ||Generate release notes from commit messages ||
||'''remotefilelog''' ||RemotefilelogExtension ||Allows clones that leave the majority of file history on the server. ||
||'''remotenames''' ||RemotenamesExtension ||Track remote bookmarks and branches ||
||'''show''' ||ShowExtension ||Unified command to show various repository information ||
||'''sparse''' ||SparseExtension ||Allow sparse checkouts of the working directory ||
||'''split''' ||SplitExtension ||Command to split a changeset into smaller ones ||
||'''sqlitestore''' ||SqliteStoreExtension ||Store repository data in SQLite ||
||'''uncommit''' ||UncommitExtension ||Uncommit part or all of a local changeset ||
Line 89: Line 121:
Note that Mercurial explicitly does '''not''' provide a ''stable API'' for extension programmers, so it is up to their respective providers/maintainers to adapt them to [[ApiChanges|API changes]]. '''Note that for extensions that were hosted on bitbucket and haven't moved somewhere else, you can find an archive at https://bitbucket-archive.softwareheritage.org'''

=== Management of branches and patches ===
||'''attic''' ||AtticExtension ||Easily deal with individual patches ||
||'''bookbinder''' ||[[https://hg.sr.ht/~ahal/bookbinder|bookbinder]] ||Make bookmarks behave like a feature branch (as opposed to a label) ||
||'''boundmode''' ||BoundModeExtension ||Enables a bound mode (commit command auto-pushes) ||
||'''branchhead''' ||BranchHeadExtension ||Show head(s) of the branch the working directory or given revision is on ||
||'''changelog''' ||ChangelogExtension ||Auto-generate commit message from changelog entry ||
||'''commits''' ||CommitsExtension ||Commit modified files as multiple changesets at once ||
||'''committer''' ||CommitterExtension ||Record the committer when you are not the author of a changeset. ||
||'''collapse''' ||CollapseExtension ||Collapse consecutive changesets into one ||
||'''diff-in-diffs''' ||DiffInDiffsExtension || Adds a new command to create the diff of two diffs ||
||'''easycommit''' ||EasycommitExtension ||Command-line GUI for committing changes ||
||'''easymerge''' ||EasymergeExtension ||Command-line GUI for merging ||
||'''editcommitmsgs''' ||EditcommitmsgsExtension ||Change commit messages for all applied mq patches in one go ||
||'''evolve'''||EvolveExtension ||History rewriting with second-order version control ||
||'''exportfiles''' ||[[http://bitbucket.org/albert_brand/hgexportfiles/wiki|hgexportfiles]] ||Export all files changed in a revision or revision range to a directory. ||
||'''foreign''' ||ForeignExtension ||Interactively register or delete foreign/unknown files ||
||'''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]] ||
||'''flow''' ||FlowExtension ||Support for the generalized Driessen's model ||
||'''hg-remotebranches''' ||[[https://bitbucket.org/durin42/hg-remotebranches|hg-remotebranches]] ||Keeps track of remote branch heads for each entry in [paths] and exposes them as tags. ||
||'''histpush''' ||HistpushExtension ||Record locally which revisions have been pushed ||
||'''importfs''' ||ImportfsExtension ||Imports a set of files from a given file-system into a Mercurial repository as a changeset ||
||'''lighttags''' ||LightTagsExtension ||Make local tags behave like lightweight tags (shared over clone and pull, not version controlled) ||
||'''mbox''' ||MboxExtension ||Import patches from unix mailboxes in MQ ||
||'''mergediff''' ||MergediffExtension ||Show only the changes introduced by a merge ||
||'''mergeutil''' ||MergeUtilExtension ||Useful utilities for merging branches ||
||'''mqcollab''' ||MqCollabExtension ||Manage patches in several parallel queues when working with others ||
||'''mutable-branches''' ||MutableBranches ||Rename named branches ||
||'''nearest''' ||NearestExtension ||Display the nearest tag from a given changeset ||
||'''localbranch''' ||LocalbranchExtension ||Create clones inside your working directory ||
||'''lock''' ||LockExtension ||Take locks on resources ||
||'''patience''' ||PatienceExtension ||Generate diffs using Bram Cohen's patience diff algorithm ||
||'''pbranch''' ||PatchBranchExtension ||Collaborative and/or long-term patch development and maintenance ||
||'''quiet-hg-branch''' ||[[https://bitbucket.org/mg/quiet-hg-branch|quiet-hg-branch]] ||Suppress the "did you want a bookmark?" hint for `hg branch` ||
||'''rebaseif''' ||RebaseIfExtension ||Command that rebases only if there are no conflicts, otherwise does a merge ||
||'''release''' ||ReleaseExtension ||Automatize tasks to deal with release management (tag creation, archiving, ...) ||
||'''send''' ||SendExtension ||Automatic send of bundle containing changesets missing on remote, like darcs send ||
||'''shared_mq''' ||SharedMQExtension ||Allow shared repositories have same MQ queues ||
||'''sync''' ||SyncExtension ||Perform pull, update/merge and push in a single click ||
||'''tasks''' ||TasksExtension ||Manage tasks as collections of contiguous changesets ||
||'''versions''' ||VersionsExtension ||Display the version information for Mercurial and all installed extensions. ||

=== Nested repositories (subrepositories) and multi-repository operations ===
||'''guestrepo''' ||GuestrepoExtension ||Handle nested repositories ||
||'''hgmod''' ||[[HgModExtension]] ||Yet another way working with subrepos ||
||'''hgnested''' ||HgNestedExtension ||Manage nested repositories ||
||'''hg-subtree''' ||[[HgSubtree]] || A way to work with subrepositories by storing them inside the repository ||
||'''multirepo''' ||MultirepoExtension ||Allow commands to affect multiple repositories simultaneously ||
||'''onsub''' ||OnsubExtension ||Recursively execute a command in each subrepository ||
||'''all_dirs''' ||AllDirsExtension ||Execute the same Mercurial command in all repositories down directory tree. ||

=== Configuration management ===
||'''cedit''' ||CeditExtension ||Command line editor for configuration files, never manually edit hgrc files again ||
||'''config''' ||ConfigExtensionCommandLine ||Manage config files via command line only ||
||'''configexpress''' || ConfigExpressExtension || monitor and enforce client configuration from a server ||
||'''dynamic_username''' ||DynamicUsernameExtension ||Set your username per directory tree. ||
||'''hgcfg''' ||HgcfgExtension || Display or modify local, user, and global configuration. ||
||'''hgconfig''' ||ConfigExtension || (dead) Manage hgrc files via dialogs and command line ||
||'''path_pattern''' ||PathPatternExtension || Define [paths] globally in your .hgrc (as patterns), and have them known all your repositories. ||
||'''projrc''' ||ProjrcExtension ||Parse project specific config from .hg/projrc ||
||'''rcpath''' ||RcpathExtension ||Displays Mercurial configuration file paths and names ||
||'''reposettings''' ||ReposettingsExtension ||Allow repo specific configuration from central configuration files ||

=== Authentication, access control and logging ===
||'''actionlog''' ||ActionLogExtension ||Provides hook intended to help keep track of a remote repository's state that multiple people have access to update ||
||'''commitsigs''' ||CommitsigsExtension ||Embed GnuPG and OpenSSL signatures directly into changesets ||
||'''defpasswd''' ||DefpasswdExtension ||Automatically provide credentials (username/passwords) read from a file. ||
||'''excludechangesets''' ||ExcludeChangesetsExtension ||Exclude "bad" changesets from being re-added to a central repository ||
||'''hgban''' ||BanChangesetsExtension ||Ban specific changesets from being reintroduced to a repository after being stripped / removed. ||
||'''hg-kerberos''' ||[[http://bitbucket.org/hstuart/hg-kerberos|hg-kerberos]] ||Kerberos authentication extension by Henrik Stuart ||
||'''hgssoauthentication''' ||[[https://bitbucket.org/domruf/hgssoauthentication|hgssoauthentication]] ||Allows you to use single sign-on authenticate with web servers that use NTLM or kerberos authentication. ||
||'''kerberos''' ||KerberosExtension ||Kerberos Authentication over HTTP support ||
||'''keyring''' ||KeyringExtension ||Securely save HTTP passwords in os-specific keyring (Gnome Keyring, KWallet, OSXKeyChain, encrypted file) ||
||'''nopush''' ||NoPushExtension ||Prohibits pushes from predefined local repository directories ||
||'''pushlog''' ||MozillaPushlogExtension ||Tracks who pushed what to a repository ||
||'''serverlog''' ||ServerlogExtension ||Log server-side events useful for sysadmins to diagnose what Mercurial is doing ||
||'''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! ||

=== Interoperability with other VCS ===
||'''cvscommit''' ||CvscommitExtension ||Push changesets to CVS ||
||'''fastimport''' ||FastImportExtension ||Read a git "fast import" stream and turn it into changesets in a Mercurial repository ||
||'''hg-git''' ||HgGit ||Push to and pull from a [[http://git-scm.com/|Git]] server ||
||'''hgsubversion''' ||HgSubversion ||Use Mercurial as a [[http://subversion.tigris.org/|Subversion]] client ||
||'''perfarce''' ||PerfarceExtension ||Allow Hg to pull from and push to a Perforce depot ||

=== Code inspection and modifications ===
||'''cloc''' ||ClocExtension ||Count lines of source code ||
||'''codesmell''' ||CodesmellExtension ||Ask before committing "smelly" changes ||
||'''update_version''' ||UpdateVersionExtension ||Automatically update version numbers in code while tagging. ||


=== Specific to a hosting service ===
||'''bitbucketize''' ||BitBucketizeExtension ||Create, modify, or delete BitBucket clone from command line||
||'''hg-github''' ||HgGithubExtension ||Allow mirroring Mercurial repositories in Bitbucket to Github ||

=== Specific to an operating system ===
||'''tpager''' ||TpagerExtension ||Mercurial pager with color support on Windows ||
||'''win32chcp''' ||Win32ChCpExtension ||Switches the Windows console into an encoding actually used by Mercurial on output. ||
||'''win32lfn''' ||Win32LongFileNamesExtension ||Allow manipulating files with names longer than 260 characters on Windows. ||
||'''wincolor''' ||WinColorExtension ||Support colors on Windows consoles. ||

=== Issue tracking ===
||'''artemis''' ||ArtemisExtension ||Simple and light-weight issue tracker ||
||'''b''' ||[[bExtension]] ||Distributed bug tracker based off the lightweight task manager [[http://stevelosh.com/projects/t/|t]] ||
||'''bugtracker''' ||BugtrackerExtension ||A tiny distributed bugtracking extension for Mercurial ||
||'''hgtrac''' ||HgTracExtension ||Mercurial/Trac Integration Hook (pre/post hooks for Trac/Mercurial) ||

=== Code review ===
||'''filereview''' ||FileReviewExtension ||Perform code review for any project using mercurial ||
||'''hgreview''' ||HgReviewExtension ||Upload / refresh and fetch patches from rietveld codereview instances ||
||'''reviewboard''' ||ReviewboardExtension ||Post changesets for review to a [[http://www.review-board.org/|Review Board]] server ||
||'''reviewassiatant''' ||[[http://www.devart.com/review-assistant/|CodeReviewExtension]] ||Code review tool helps you to create review requests and respond to them without leaving Visual Studio ||

=== Shortcuts ===
||'''allpaths''' ||AllPathsExtension ||Run commands like `push` on multiple paths ||
||'''on_remote''' ||OnRemoteExtension || Easily execute Mercurial command on remote (ssh) repository||

=== Graphical interfaces ===
||'''hgview''' ||[[http://www.logilab.org/project/hgview|hgview]] ||Tool for visually navigating a repository history and comparing multiple revisions ||
||'''qct''' ||QctExtension ||Provide access to the Qct commit tool ||

=== Unclassified ===
Line 91: Line 246:
||'''actionlog''' ||ActionLogExtension ||Provides hook intended to help keep track of a remote repository's state that multiple people have access to update ||
Line 93: Line 247:
||'''artemis''' ||ArtemisExtension ||Simple and light-weight issue tracker ||
||'''attic''' ||AtticExtension ||Easily deal with individual patches ||
Line 96: Line 248:
||'''autosync''' ||AutoSyncExtension ||Automated duplex synchronization with another repository ||
||'''b''' ||[[bExtension]] ||Distributed bug tracker based off the lightweight task manager [[http://stevelosh.com/projects/t/|t]] ||
Line 100: Line 250:
||'''boundmode''' ||BoundModeExtension ||Enables a bound mode (commit command auto-pushes) ||
||'''branchhead''' ||BranchHeadExtension ||Show head(s) of the branch the working directory or given revision is on ||
Line 103: Line 251:
||'''bugtracker''' ||BugtrackerExtension ||A tiny distributed bugtracking extension for Mercurial || ||'''bundleclone''' ||BundleCloneExtension ||Clone using pre-generated bundles ||
Line 107: Line 255:
||'''cedit''' ||CeditExtension ||Command line editor for configuration files, never manually edit hgrc files again ||
||'''changelog''' ||ChangelogExtension ||Auto-generate commit message from changelog entry ||
Line 111: Line 257:
||'''checkmeta''' ||CheckMetaExtension ||Enforces configurable file characteristics like file encoding. ||
Line 112: Line 259:
||'''cloc''' ||ClocExtension ||Count lines of source code ||
||'''codesmell''' ||CodesmellExtension ||Ask before committing "smelly" changes ||
||'''commits''' ||CommitsExtension ||Commit modified files as multiple changesets at once ||
||'''commitsigs''' ||CommitsigsExtension ||Embed GnuPG and OpenSSL signatures directly into changesets ||
||'''committer''' ||CommitterExtension ||Record the committer when you are not the author of a changeset. ||
||'''compass''' ||CompassExtension ||Find your way in repositories with multiple heads, branches and bookmarks. ||
||'''collapse''' ||CollapseExtension ||Collapse consecutive changesets into one ||
||'''config''' ||ConfigExtensionCommandLine ||Manage config files via command line only ||
||'''config''' ||ConfigExtension ||Manage hgrc files via dialogs and command line ||
Line 124: Line 262:
||'''cvscommit''' ||CvscommitExtension ||Push changesets to CVS ||
||'''defpasswd''' ||DefpasswdExtension ||Automatically provide credentials (username/passwords) read from a file. ||
Line 129: Line 265:
||'''duckcharset''' ||DuckcharsetExtension ||Detect/convert character encoding when displaying ||
||'''easycommit''' ||EasycommitExtension ||Command-line GUI for committing changes ||
||'''easymerge''' ||EasymergeExtension ||Command-line GUI for merging ||
||'''editcommitmsgs''' ||EditcommitmsgsExtension ||Change commit messages for all applied mq patches in one go ||
||'''exportfiles''' ||[[http://bitbucket.org/albert_brand/hgexportfiles/wiki|ExportFilesExtension]] ||Export all files changed in a revision or revision range to a directory. ||
||'''dynapath''' ||[[https://bitbucket.org/Unity-Technologies/dynapath/src/tip/dynapath.py|dynapath]] ||Dynamically rewrite paths to use local mirrors based on current local IP. ||
Line 135: Line 267:
||'''excludechangesets''' ||ExcludeChangesetsExtension ||Exclude "bad" changesets from being re-added to a central repository ||
||'''fastimport''' ||FastImportExtension ||Read a git "fast import" stream and turn it into changesets in a Mercurial repository ||
||'''filereview''' ||FileReviewExtension ||Perform code review for any project using mercurial ||
Line 139: Line 268:
||'''fixfrozenexts''' ||FixfrozenextsExtension ||Fix extensions.disabled() to work on frozen package ||
Line 142: Line 270:
||'''foreign''' ||ForeignExtension ||Interactively register or delete foreign/unknown files ||
||'''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]] ||
||'''flow''' ||FlowExtension ||Support for the generalized Driessen's model ||
Line 148: Line 273:
||'''guestrepo''' ||GuestrepoExtension ||Handle nested repositories ||
||'''hgban''' ||BanChangesetsExtension ||Ban specific changesets from being reintroduced to a repository after being stripped / removed. ||
||'''hg-git''' ||HgGit ||Push to and pull from a [[http://git-scm.com/|Git]] server ||
||'''hg-kerberos''' ||[[http://bitbucket.org/hstuart/hg-kerberos|hg-kerberos]] ||Kerberos authentication extension by Henrik Stuart ||
||'''hg-remotebranches''' ||[[https://bitbucket.org/durin42/hg-remotebranches|hg-remotebranches]] ||Keeps track of remote branch heads for each entry in [paths] and exposes them as tags. ||
||'''grepfile''' ||GrepfileExtension ||Search files for a regular expression ||
Line 155: Line 276:
||'''hgext.markdown''' ||MarkdownExtension ||Markdown Extension for hgweb ||
Line 158: Line 280:
||'''hgnested''' ||HgNestedExtension ||Manage nested repositories ||
Line 160: Line 281:
||'''hgreview''' ||HgReviewExtension ||Upload / refresh and fetch patches from rietveld codereview instances ||
Line 163: Line 283:
||'''hgssoauthentication''' ||[[https://bitbucket.org/domruf/hgssoauthentication|hgssoauthentication]] ||Allows you to use single sign-on authenticate with web servers that use NTLM or kerberos authentication. ||
||'''hgsubversion''' ||HgSubversion ||Use Mercurial as a [[http://subversion.tigris.org/|Subversion]] client ||
||'''hgview''' ||[[http://www.logilab.org/project/hgview|hgview]] ||Tool for visually navigating a repository history and comparing multiple revisions ||
||'''hgsql''' ||[[hgsqlExtension]] ||Allow server multi-mastering by using a MySQL backend. ||
Line 167: Line 285:
||'''hgtrac''' ||HgTracExtension ||Mercurial/Trac Integration Hook (pre/post hooks for Trac/Mercurial) || ||'''hgwebcachingproxy''' ||[[https://bitbucket.org/Unity-Technologies/hgwebcachingproxy/src/tip/hgwebcachingproxy.py|hgwebcachingproxy]] ||Caching hgweb proxy, caches and serves pull requests locally, distributes load and gives good bandwidth utilization. ||
Line 169: Line 287:
||'''histpush''' ||HistpushExtension ||Record locally which revisions have been pushed ||
Line 171: Line 288:
||'''importfs''' ||ImportfsExtension ||Imports a set of files from a given file-system into a Mercurial repository as a changeset ||
Line 174: Line 290:
||'''kerberos''' ||KerberosExtension ||Kerberos Authentication over HTTP support ||
||'''keyring''' ||KeyringExtension ||Securely save HTTP passwords in os-specific keyring (Gnome Keyring, KWallet, OSXKeyChain, encrypted file) ||
||'''lighttags''' ||LightTagsExtension ||Make local tags behave like lightweight tags (shared over clone and pull, not version controlled) ||
||'''localbranch''' ||LocalbranchExtension ||Create clones inside your working directory ||
||'''lock''' ||LockExtension ||Take locks on resources ||
||'''killbom''' ||KillBomExtension ||Remove BOM (byte-order mark) character from files with specified encodings prior to committing ||
Line 180: Line 292:
||'''mbox''' ||MboxExtension ||Import patches from unix mailboxes in MQ ||
||'''mergediff''' ||MergediffExtension ||Show only the changes introduced by a merge ||
||'''mergeutil''' ||MergeUtilExtension ||Useful utilities for merging branches ||
Line 184: Line 293:
||'''mqcollab''' ||MqCollabExtension ||Manage patches in several parallel queues when working with others ||
||'''multirepo''' ||MultirepoExtension ||Allow commands to affect multiple repositories simultaneously ||
||'''mutable-branches''' ||MutableBranches ||Rename named branches ||
||'''nearest''' ||NearestExtension ||Display the nearest tag from a given changeset ||
||'''onsub''' ||OnsubExtension ||Recursively execute a command in each subrepository ||
||'''pack''' ||[[https://sites.google.com/site/alessandronegrin/pack-mercurial-extension|PackExtension]] ||Pack all files involved in the give revision (if your customer does not know what a diff file is) ||
||'''pack''' ||[[https://sites.google.com/site/alessandronegrin/pack-mercurial-extension|mercurial-pack-extension]] ||Pack all files involved in the give revision (if your customer does not know what a diff file is) ||
Line 192: Line 296:
||'''patience''' ||PatienceExtension ||Generate diffs using Bram Cohen's patience diff algorithm ||
||'''pbranch''' ||PatchBranchExtension ||Collaborative and/or long-term patch development and maintenance ||
||'''perfarce''' ||PerfarceExtension ||Allow Hg to pull from and push to a Perforce depot ||
||'''projrc''' ||ProjrcExtension ||Parse project specific config from .hg/projrc ||
Line 199: Line 299:
||'''pushlog''' ||MozillaPushlogExtension ||Tracks who pushed what to a repository ||
||'''release''' ||ReleaseExtension ||Automatize tasks to deal with release management (tag creation, archiving, ...) ||
||'''remote-bookmarks''' ||[[http://solovyov.net/remote-bookmarks/|RemoteBookmarksExtension]] ||Implementation of git-like bookmark tracking ||
||'''reviewboard''' ||ReviewboardExtension ||Post changesets for review to a [[http://www.review-board.org/|Review Board]] server ||
||'''qct''' ||QctExtension ||Provide access to the Qct commit tool ||
Line 206: Line 301:
||'''rcpath''' ||RcpathExtension ||Displays Mercurial configuration file paths and names ||
||'''rebaseif''' ||RebaseIfExtension ||Command that rebases only if there are no conflicts, otherwise does a merge ||
Line 209: Line 302:
||'''reposettings''' ||ReposettingsExtension ||Allow repo specific configuration from central configuration files ||
Line 212: Line 304:
||'''send''' ||SendExtension ||Automatic send of bundle containing changesets missing on remote, like darcs send ||
||'''shared_mq''' ||SharedMQExtension ||Allow shared repositories have same MQ queues ||
||'''shelve''' ||ShelveExtension ||Interactively select changes to set aside ||
Line 216: Line 305:
||'''socks_proxy''' ||[[https://bitbucket.org/bugheisen/socks_proxy/|socks_proxy]] ||SOCKS proxy support ||
Line 217: Line 307:
||'''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! ||
Line 220: Line 309:
||'''sync''' ||SyncExtension ||Perform pull, update/merge and push in a single click ||
Line 222: Line 310:
||'''tasks''' ||TasksExtension ||Manage tasks as collections of contiguous changesets || ||'''terse-status''' ||[[https://bitbucket.org/sr105/terse-status|terse-status]] ||Makes '`hg status`' show `? foo/` when all files inside `foo` are untracked ||
Line 227: Line 315:
||'''timetracker''' ||[[https://bitbucket.org/edulix/timetracker/wiki/Home|TimetrackerExtension]] ||Tracks the time spent on a project ||
||'''tpager''' ||TpagerExtension ||Mercurial pager with color support on Windows ||
||'''timetracker''' ||[[https://bitbucket.org/edulix/timetracker/wiki/Home|timetracker]] ||Tracks the time spent on a project ||
Line 230: Line 317:
||'''versions''' ||VersionsExtension ||Display the version information for Mercurial and all installed extensions. ||
Line 232: Line 318:
||'''win32chcp''' ||Win32ChCpExtension ||Switches the Windows console into an encoding actually used by Mercurial on output. ||
||'''win32lfn''' ||Win32LongFileNamesExtension ||Allow manipulating files with names longer than 260 characters on Windows. ||
||'''win32xattrs''' ||Win32xattrsExtension ||handle windows-specific file attributes like "hidden" ||
||'''wincolor''' ||WinColorExtension ||Support colors on Windows consoles. ||
Line 237: Line 319:


Line 243: Line 322:
 * ExtensionsDevel for core developer information about extensions

Using Mercurial Extensions

Expanding the basic functionality of Mercurial with optional extensions.

1. Introduction

Mercurial is designed to offer a small, safe, and easy to use command set which is powerful enough for most users. Advanced users of Mercurial can be aided with the use of Mercurial extensions. Extensions allow the integration of powerful new features directly into the Mercurial core.

<!> Features in extensions may not conform to Mercurial's usual standards for safety, reliability, and ease of use.

Built-in help on extensions is available with 'hg help extensions'. To get help about an enabled extension, run 'hg help <extension-name>'.

Note that Mercurial explicitly does not provide a stable API for extension programmers, so it is up to their respective providers/maintainers to adapt them to API changes.

2. Enabling an extension

To enable the "foo" extension, either shipped with Mercurial or in the Python search path, create an entry for it in your hgrc, like this:

[extensions]
foo =

You may also specify the full path to an extension (which may be either a .py file or a folder containing __init__.py):

[extensions]
myfeature = ~/.hgext/myfeature.py

To get an extension which is not shipped with Mercurial, just download it to any place in your filesystem. In the example above it was downloaded to ~/.hgext/. NB: On Windows, if the path refers to a directory then the trailing backwards slash must currently be omitted due to issue4187.

To explicitly disable an extension enabled in an hgrc of broader scope, prepend its path with !:

[extensions]
# disabling extension bar residing in /path/to/extension/bar.py
bar = !/path/to/extension/bar.py
# ditto, but no path was supplied for extension baz
baz = !

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

3. Extensions bundled with Mercurial

These extensions are maintained by the Mercurial project and are distributed together with Mercurial.

Name

Page

Description

acl

AclExtension

Manage commit access to parts of a repo using control lists

blackbox

BlackboxExtension

Log events to .hg/blackbox.log for post-mortem debugging

bugzilla

BugzillaExtension

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

censor

CensorExtension

Erase file content at a given revision

churn

ChurnExtension

Show change statistics for mercurial operations per author

clonebundles

ClonebundlesExtension

Advertise pre-generated bundles to seed clones

closehead

CloseHeadExtension

Close arbitrary heads without checking them out first

color

ColorExtension

(obsolete) Color output for the diff, status and qseries commands

commitextras

CommitExtrasExtension

(advanced) Adds a new flag extras to commit

convert

ConvertExtension

Convert repositories from other SCMs into Mercurial

eol

EolExtension

Translate line-ending characters between working copy and repository

extdiff

ExtdiffExtension

Compare changes using external programs

factotum

FactotumExtension

HTTP authentication with factotum

fastexport

FastExportExtension

Export repositories as git fast-import stream

fsmonitor

FsMonitorExtension

Integrates the file-monitoring program watchman with Mercurial to produce faster status results.

githelp

GitHelpExtension

try mapping git commands to Mercurial commands

gpg

GpgExtension

Sign changesets and check signatures using GPG

hgcia

HgciaExtension

(dead) 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

histedit

HisteditExtension

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

keyword

KeywordExtension

Use CVS like keyword expansion in tracked files

largefiles

LargefilesExtension

Track large binary files (new in 2.0)

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

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

relink

RelinkExtension

Recreates hardlinks between repository clones

schemes

SchemesExtension

Add shortcuts to urls as url schemes

share

ShareExtension

Share repository history between multiple repos

shelve

ShelveExtension

Save and restore changes to the working directory

strip

StripExtension

Strip changesets and their descendants from history

transplant

TransplantExtension

Cherry-picking, rebasing and changeset rewriting

win32mbcs

Win32mbcsExtension

Allow to use shift_jis/big5 filenames on Windows.

zeroconf

ZeroconfExtension

Announce and browse repositories via zeroconf/bonjour

3.1. Deprecated

/!\ These extensions are deprecated.

children

ChildrenExtension

Command to display child changesets

fetch

FetchExtension

Pull, update and merge in one command

graphlog

GraphlogExtension

Command to view revision graphs from a shell

record

RecordExtension

Commands to interactively select changes for commit/qrefresh

win32text

Win32TextExtension

Perform automatic newline conversion

3.2. Experimental

/!\ These extensions are experimental.

absorb

AbsorbExtension

Apply working directory changes to changesets

amend

AmendExtension

Provide the amend command

automv

AutomvExtension

Automatically detect file renames

beautifygraph

BeautifyGraphExtension

Beautify log -G output by using Unicode characters

bookflow

BookflowExtension

Implements bookmark-based branching

fastannotate

FastAnnotateExtension

Yet another annotate implementation that might be faster

fix

FixExtension

Rewrite file content in changesets or working copy

git

GitExtension

Operate on Git repositories

hooklib

HookLibExtension

Simple hooks for common tasks

infinitepush

InfinitePushExtension

Store some pushes in a remote blob store on the server

journal

JournalExtension

Track previous positions of bookmarks

lfs

LfsExtension

lfs - large file support

logtoprocess

LogToProcessExtension

Send ui.log() data to a subproces

narrowhg

(hg help narrow)

Download only part of the history, see NarrowClonePlan

phabricator

PhabricatorExtension

Simple Phabricator integration

releasenotes

ReleaseNotesExtension

Generate release notes from commit messages

remotefilelog

RemotefilelogExtension

Allows clones that leave the majority of file history on the server.

remotenames

RemotenamesExtension

Track remote bookmarks and branches

show

ShowExtension

Unified command to show various repository information

sparse

SparseExtension

Allow sparse checkouts of the working directory

split

SplitExtension

Command to split a changeset into smaller ones

sqlitestore

SqliteStoreExtension

Store repository data in SQLite

uncommit

UncommitExtension

Uncommit part or all of a local changeset

4. Extensions provided by others

These extensions are not distributed together with Mercurial. The Mercurial project provides no guarantees about these and does not maintain or test them.

Note that for extensions that were hosted on bitbucket and haven't moved somewhere else, you can find an archive at https://bitbucket-archive.softwareheritage.org

4.1. Management of branches and patches

attic

AtticExtension

Easily deal with individual patches

bookbinder

bookbinder

Make bookmarks behave like a feature branch (as opposed to a label)

boundmode

BoundModeExtension

Enables a bound mode (commit command auto-pushes)

branchhead

BranchHeadExtension

Show head(s) of the branch the working directory or given revision is on

changelog

ChangelogExtension

Auto-generate commit message from changelog entry

commits

CommitsExtension

Commit modified files as multiple changesets at once

committer

CommitterExtension

Record the committer when you are not the author of a changeset.

collapse

CollapseExtension

Collapse consecutive changesets into one

diff-in-diffs

DiffInDiffsExtension

Adds a new command to create the diff of two diffs

easycommit

EasycommitExtension

Command-line GUI for committing changes

easymerge

EasymergeExtension

Command-line GUI for merging

editcommitmsgs

EditcommitmsgsExtension

Change commit messages for all applied mq patches in one go

evolve

EvolveExtension

History rewriting with second-order version control

exportfiles

hgexportfiles

Export all files changed in a revision or revision range to a directory.

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

flow

FlowExtension

Support for the generalized Driessen's model

hg-remotebranches

hg-remotebranches

Keeps track of remote branch heads for each entry in [paths] and exposes them as tags.

histpush

HistpushExtension

Record locally which revisions have been pushed

importfs

ImportfsExtension

Imports a set of files from a given file-system into a Mercurial repository as a changeset

lighttags

LightTagsExtension

Make local tags behave like lightweight tags (shared over clone and pull, not version controlled)

mbox

MboxExtension

Import patches from unix mailboxes in MQ

mergediff

MergediffExtension

Show only the changes introduced by a merge

mergeutil

MergeUtilExtension

Useful utilities for merging branches

mqcollab

MqCollabExtension

Manage patches in several parallel queues when working with others

mutable-branches

MutableBranches

Rename named branches

nearest

NearestExtension

Display the nearest tag from a given changeset

localbranch

LocalbranchExtension

Create clones inside your working directory

lock

LockExtension

Take locks on resources

patience

PatienceExtension

Generate diffs using Bram Cohen's patience diff algorithm

pbranch

PatchBranchExtension

Collaborative and/or long-term patch development and maintenance

quiet-hg-branch

quiet-hg-branch

Suppress the "did you want a bookmark?" hint for hg branch

rebaseif

RebaseIfExtension

Command that rebases only if there are no conflicts, otherwise does a merge

release

ReleaseExtension

Automatize tasks to deal with release management (tag creation, archiving, ...)

send

SendExtension

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

shared_mq

SharedMQExtension

Allow shared repositories have same MQ queues

sync

SyncExtension

Perform pull, update/merge and push in a single click

tasks

TasksExtension

Manage tasks as collections of contiguous changesets

versions

VersionsExtension

Display the version information for Mercurial and all installed extensions.

4.2. Nested repositories (subrepositories) and multi-repository operations

guestrepo

GuestrepoExtension

Handle nested repositories

hgmod

HgModExtension

Yet another way working with subrepos

hgnested

HgNestedExtension

Manage nested repositories

hg-subtree

HgSubtree

A way to work with subrepositories by storing them inside the repository

multirepo

MultirepoExtension

Allow commands to affect multiple repositories simultaneously

onsub

OnsubExtension

Recursively execute a command in each subrepository

all_dirs

AllDirsExtension

Execute the same Mercurial command in all repositories down directory tree.

4.3. Configuration management

cedit

CeditExtension

Command line editor for configuration files, never manually edit hgrc files again

config

ConfigExtensionCommandLine

Manage config files via command line only

configexpress

ConfigExpressExtension

monitor and enforce client configuration from a server

dynamic_username

DynamicUsernameExtension

Set your username per directory tree.

hgcfg

HgcfgExtension

Display or modify local, user, and global configuration.

hgconfig

ConfigExtension

(dead) Manage hgrc files via dialogs and command line

path_pattern

PathPatternExtension

Define [paths] globally in your .hgrc (as patterns), and have them known all your repositories.

projrc

ProjrcExtension

Parse project specific config from .hg/projrc

rcpath

RcpathExtension

Displays Mercurial configuration file paths and names

reposettings

ReposettingsExtension

Allow repo specific configuration from central configuration files

4.4. Authentication, access control and logging

actionlog

ActionLogExtension

Provides hook intended to help keep track of a remote repository's state that multiple people have access to update

commitsigs

CommitsigsExtension

Embed GnuPG and OpenSSL signatures directly into changesets

defpasswd

DefpasswdExtension

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

excludechangesets

ExcludeChangesetsExtension

Exclude "bad" changesets from being re-added to a central repository

hgban

BanChangesetsExtension

Ban specific changesets from being reintroduced to a repository after being stripped / removed.

hg-kerberos

hg-kerberos

Kerberos authentication extension by Henrik Stuart

hgssoauthentication

hgssoauthentication

Allows you to use single sign-on authenticate with web servers that use NTLM or kerberos authentication.

kerberos

KerberosExtension

Kerberos Authentication over HTTP support

keyring

KeyringExtension

Securely save HTTP passwords in os-specific keyring (Gnome Keyring, KWallet, OSXKeyChain, encrypted file)

nopush

NoPushExtension

Prohibits pushes from predefined local repository directories

pushlog

MozillaPushlogExtension

Tracks who pushed what to a repository

serverlog

ServerlogExtension

Log server-side events useful for sysadmins to diagnose what Mercurial is doing

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!

4.5. Interoperability with other VCS

cvscommit

CvscommitExtension

Push changesets to CVS

fastimport

FastImportExtension

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

hg-git

HgGit

Push to and pull from a Git server

hgsubversion

HgSubversion

Use Mercurial as a Subversion client

perfarce

PerfarceExtension

Allow Hg to pull from and push to a Perforce depot

4.6. Code inspection and modifications

cloc

ClocExtension

Count lines of source code

codesmell

CodesmellExtension

Ask before committing "smelly" changes

update_version

UpdateVersionExtension

Automatically update version numbers in code while tagging.

4.7. Specific to a hosting service

bitbucketize

BitBucketizeExtension

Create, modify, or delete BitBucket clone from command line

hg-github

HgGithubExtension

Allow mirroring Mercurial repositories in Bitbucket to Github

4.8. Specific to an operating system

tpager

TpagerExtension

Mercurial pager with color support on Windows

win32chcp

Win32ChCpExtension

Switches the Windows console into an encoding actually used by Mercurial on output.

win32lfn

Win32LongFileNamesExtension

Allow manipulating files with names longer than 260 characters on Windows.

wincolor

WinColorExtension

Support colors on Windows consoles.

4.9. Issue tracking

artemis

ArtemisExtension

Simple and light-weight issue tracker

b

bExtension

Distributed bug tracker based off the lightweight task manager t

bugtracker

BugtrackerExtension

A tiny distributed bugtracking extension for Mercurial

hgtrac

HgTracExtension

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

4.10. Code review

filereview

FileReviewExtension

Perform code review for any project using mercurial

hgreview

HgReviewExtension

Upload / refresh and fetch patches from rietveld codereview instances

reviewboard

ReviewboardExtension

Post changesets for review to a Review Board server

reviewassiatant

CodeReviewExtension

Code review tool helps you to create review requests and respond to them without leaving Visual Studio

4.11. Shortcuts

allpaths

AllPathsExtension

Run commands like push on multiple paths

on_remote

OnRemoteExtension

Easily execute Mercurial command on remote (ssh) repository

4.12. Graphical interfaces

hgview

hgview

Tool for visually navigating a repository history and comparing multiple revisions

qct

QctExtension

Provide access to the Qct commit tool

4.13. Unclassified

Name

Page

Description

activity

ActivityExtension

Create an image representing the activity of the repository

autopager

AutopagerExtension

Invoke pager when output is longer than one screen

bfiles

BfilesExtension

Handle large binary files

bigfiles

BigfilesExtension

Support versions of big files with storage outside hg repo

buglink

BugLinkExtension

Allow to link changesets and Issue IDs

bundleclone

BundleCloneExtension

Clone using pre-generated bundles

casefold

CaseFoldExtension

Successful unjams case-folding conflicts

caseguard

CaseGuardExtension

Prevents users from adding files to a repository if that could cause a CaseFolding collision

casestop

CasestopExtension

Stops case-folding conflicts on commit

chart

ChartExtension

Display activity graphs (see also ActivityExtension and ChurnExtension)

checkfiles

CheckFilesExtension

Commit hook and command to check for and fix tabs and trailing whitespace

checkmeta

CheckMetaExtension

Enforces configurable file characteristics like file encoding.

cifiles

CifilesExtension

Print the names of all checked-in files

contains

ContainsExtension

Test whether a changset is contained in a branch

crecord

CrecordExtension

Select graphically which files/hunk/lines to commit

cutehg

CuteHgExtension

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

deps

DepsExtension

Create and manage versioned repository dependencies

digest

DigestExtension

Create and use small digest files for outgoing/bundle

dotlog

DotLogExtension

Yet Another DOT grapher

dynapath

dynapath

Dynamically rewrite paths to use local mirrors based on current local IP.

exclude

ExcludeExtension

Exclude some modified files by default (e.g., config files that are always modified)

fixcase

FixcaseExtension

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

fixrenames

FixrenamesExtension

Replay old history to add rename information

fixutf8

FixUtf8Extension

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

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

grepfile

GrepfileExtension

Search files for a regular expression

hgbb

BitbucketExtension

Several helpers for working with bitbucket.org repositories

hgexternals

HgExternals

Pull external repositories into a Mercurial repository

hgext.markdown

MarkdownExtension

Markdown Extension for hgweb

hgflowdock

FlowdockExtension

Send notifications to flowdock.com

hglist

hglist

An ls command for Mercurial

hglock-le

HgLockLEExtension

Allow users to inform each other in case of parallel file modification in one local repository

hgopenurl

HgOpenURLExtension

Quickly show repository URLs in the browser

hgsftp

hgsftp

Use Mercurial over SFTP

hgsite

HgSiteExtension

Serve a web site straight out of a Mercurial repository

hgsql

hgsqlExtension

Allow server multi-mastering by using a MySQL backend.

hg-textauth

hg-textauth

Plaintext file authentication

hgwebcachingproxy

hgwebcachingproxy

Caching hgweb proxy, caches and serves pull requests locally, distributes load and gives good bandwidth utilization.

hgxmpp

HgJabberExtension

Mercurial Jabber Notification Hook (pre/post hooks for Jabber/Mercurial)

hotfiles

HotFilesExtension

Designates the files the most susceptible to contain issues

info

InfoExtension

Display basic information about a repository

infocalypse

Infocalypse

Share code efficiently, decentrally, anonymous and encrypted over Freenet

killbom

KillBomExtension

Remove BOM (byte-order mark) character from files with specified encodings prior to committing

makewritable

MakewritableExtension

Interactively removes read-only flags from files

moinport

MoinportExtension

Fetch changes from MoinMoin Wiki

pack

mercurial-pack-extension

Pack all files involved in the give revision (if your customer does not know what a diff file is)

paste

PasteExtension

Paste changes to pastebin

pastebin

PastebinExtension

Paste changes to public and private pastebins

prompt

PromptExtension

Put information about the current repository into a shell prompt

publishall

PublishAllExtension

Publish to all your set repositories (ie: paths)

punchcard

PunchcardExtension

Generate a "punch card" graph of your commit habits

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

rdiff

RdiffExtension

Allow diff to work against remote repositories

rsync

RemoteSyncExtension

Keep your working directory in sync with remote files, that exist outside of the repository

rupdate

RemoteUpdateExtension

Update a remote repository to a specified revision if the remote repository is hosted via ssh

snap

SnapExtension

Version (big) file snapshots with storage outside a Mercurial repository

socks_proxy

socks_proxy

SOCKS proxy support

softrebase

SoftRebaseExtension

Turn possibly complicated rebase calls into multiple simpler ones

spellcheck

SpellcheckExtension

Interactively correct spelling errors in commit messages; also includes a hook to reject changesets with spelling errors in their commit messages

subpaths

SubpathsExtension

Manage subpath remappings using a central file, distributed on clone and pull

talaria

TalariaExtension

Manage simple hierarchical trees of HTML-documents, such as web-sites, documentation, etc

terse-status

terse-status

Makes 'hg status' show ? foo/ when all files inside foo are untracked

textful

TextfulExtension

Convert binary file to text or handle character encoding when displaying

tfs

TfsExtension

Update Team Foundation Server work items when bug ids are referenced in a changeset

timestamp

TimestampExtension

Saves and restores file timestamps

timestamp_mod

TimestampModExtension

Automatically Saves and restores file timestamps for all files in the repository.

timetracker

timetracker

Tracks the time spent on a project

untouch

UntouchExtension

Save or restore modification times of files

webuserdir

WebUserDirExtension

Host users' repositories under /~username/ on hgwebdir

zipdoc

ZipdocExtension

Version control zipped document formats like docx or odt as uncompressed zip archives to improve delta compression.

5. See also


CategoryBundledExtension CategoryExtensionsByOthers

French, Japanese, German

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