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:
There are a number of ways to select the root changeset:
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:
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
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 |
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) |