Crecord Extension
Contents
1. Status
This extension has been incorporated into Mercurial (since v3.8.1).
Author: Mark Edgington
Web page: http://www.bitbucket.org/edgimar/crecord/wiki/Home
Repository: https://bitbucket.org/edgimar/crecord
2. Overview
The crecord extension is a curses (i.e. text-based GUI) interface which provides the crecord and qcrecord commands that may be used in lieu of commit or qnew -f. These commands let you choose which parts of the changes in a working directory you'd like to commit, at the granularity of patch hunks or lines. It is similar in spirit to the darcs record command and the RecordExtension.
3. Features
In addition to allowing you to choose changes to commit at a line-level granularity, crecord has the following advantages over the text-only RecordExtension:
- Ability to scroll through all changes, jumping back and forth between changes.
- Patch headers and hunks can be folded to make it easy to view only the changes you're interested in.
- Commit message can be incrementally edited as you work through the changes
- Color display of changes and trailing whitespace
- Final patch can be reviewed / modified in an external editor prior to committing
4. Configuration
4.1. For Mercurial v3.8.1 and later
Configure your .hgrc file to enable the extension by adding following lines:
[ui] interface = curses
The curses interface will be used by all interactive commits, e.g.
hg commit -i
You may add an alias to the .hgrc to mimic the old call to crecord:
[alias] crecord = commit -i
4.2. For older Mercurial versions
Users of older versions of Mercurial (< 3.8.1) can install the extension by downloading the crecord archive from the site above, and extracting it to a folder where you prefer to keep extensions (e.g. $HOME/hgext). Enable the extension by adding the following to your .hgrc:
[extensions] hgext.crecord=/path/to/crecord/package
(note: the package directory is the one containing the __init__.py file)