Mercurial > dotfiles
Help: histedit
hg histedit [OPTIONS] ([ANCESTOR] | --outgoing [URL])
interactively edit changeset history
This command lets you edit a linear series of changesets (up to and including the working directory, which should be clean). You can:
- 'pick' to [re]order a changeset
- 'drop' to omit changeset
- 'mess' to reword the changeset commit message
- 'fold' to combine it with the preceding changeset (using the later date)
- 'roll' like fold, but discarding this commit's description and date
- 'edit' to edit this changeset (preserving date)
- 'base' to checkout changeset and apply further changesets from there
There are a number of ways to select the root changeset:
- Specify ANCESTOR directly
- Use --outgoing -- it will be the first linear changeset not included in destination. (See 'hg help config.paths.default-push')
- Otherwise, the value from the "histedit.defaultrev" config option is used as a revset to select the base revision when ANCESTOR is not specified. The first revision returned by the revset is used. By default, this selects the editable history that is unique to the ancestry of the working directory.
If you use --outgoing, this command will abort if there are ambiguous outgoing revisions. For example, if there are multiple branches containing outgoing revisions.
Use "min(outgoing() and ::.)" or similar revset specification instead of --outgoing to specify edit target revision exactly in such ambiguous situation. See 'hg help revsets' for detail about selecting revisions.
Examples:
- A number of changes have been made. Revision 3 is no longer needed.
Start history editing from revision 3:
hg histedit -r 3
An editor opens, containing the list of revisions, with specific actions specified:
pick 5339bf82f0ca 3 Zworgle the foobar pick 8ef592ce7cc4 4 Bedazzle the zerlog pick 0a9639fcda9d 5 Morgify the cromulancy
Additional information about the possible actions to take appears below the list of revisions.
To remove revision 3 from the history, its action (at the beginning of the relevant line) is changed to 'drop':
drop 5339bf82f0ca 3 Zworgle the foobar pick 8ef592ce7cc4 4 Bedazzle the zerlog pick 0a9639fcda9d 5 Morgify the cromulancy
- A number of changes have been made. Revision 2 and 4 need to be swapped.
Start history editing from revision 2:
hg histedit -r 2
An editor opens, containing the list of revisions, with specific actions specified:
pick 252a1af424ad 2 Blorb a morgwazzle pick 5339bf82f0ca 3 Zworgle the foobar pick 8ef592ce7cc4 4 Bedazzle the zerlog
To swap revision 2 and 4, its lines are swapped in the editor:
pick 8ef592ce7cc4 4 Bedazzle the zerlog pick 5339bf82f0ca 3 Zworgle the foobar pick 252a1af424ad 2 Blorb a morgwazzle
Returns 0 on success, 1 if user intervention is required (not only for intentional "edit" command, but also for resolving unexpected conflicts).
(use 'hg help -e histedit' to show help for the histedit extension)
options ([+] can be repeated):
--commands FILE | read history edits from the specified file | |
-c | --continue | continue an edit already in progress |
--edit-plan | edit remaining actions list | |
-k | --keep | don't strip old nodes after edit is complete |
--abort | abort an edit in progress | |
-o | --outgoing | changesets not found in destination |
-f | --force | force outgoing even for unrelated repositories |
-r | --rev REV [+] | first revision to be edited |
-T | --template TEMPLATE | display with template |
--mq | operate on patch repository |
global options ([+] can be repeated):
-R | --repository REPO | repository root directory or name of overlay bundle file |
--cwd DIR | change working directory | |
-y | --noninteractive | do not prompt, automatically pick the first choice for all prompts |
-q | --quiet | suppress output |
-v | --verbose | enable additional output |
--color TYPE | when to colorize (boolean, always, auto, never, or debug) | |
--config CONFIG [+] | set/override config option (use 'section.name=value') | |
--debug | enable debugging output | |
--debugger | start debugger | |
--encoding ENCODE | set the charset encoding (default: UTF-8) | |
--encodingmode MODE | set the charset encoding mode (default: strict) | |
--traceback | always print a traceback on exception | |
--time | time how long the command takes | |
--profile | print command execution profile | |
--version | output version information and exit | |
-h | --help | display help and exit |
--hidden | consider hidden changesets | |
--pager TYPE | when to paginate (boolean, always, auto, or never) (default: auto) |