record and crecord: proposal to merge into core

Pierre-Yves David pierre-yves.david at
Wed Mar 11 02:54:23 CDT 2015

On 03/10/2015 09:09 PM, Gregory Szorc wrote:
> On Mon, Mar 9, 2015 at 10:21 AM, Laurent Charignon <lcharignon at
> <mailto:lcharignon at>> wrote:
>           Step 3 Add interactive selection to other existing command
>                - Any suggestion here?
> A question that I semi-frequently get is how to "split" a commit. The
> ability to use the "edit" action in histedit combined with "hg record"
> is somewhat arcane to discover. I wonder if there is room for a
> dedicated "hg split <rev>" command that does the equivalent of:
> 1. update to requested revision
> 2. "uncommit" all changes made by the commit (rough equivalent of "hg
> uncommit" from evolve)
> 3. Allows you to use "hg record" until status reports no modifications
> 4. Automatically rebases children changesets when done

I would be very happy to take such command into evolve. (this will take 
care of 4.) so we can play with the UI a bit. Having a `split` command 
in evolve is something I want to have for a while since recording 
"split" markers is important for evolution.

> This is essentially "hg histedit" with the "edit" action on 1 changeset.
> Perhaps we could implement "hg split" in terms of a histedit recipe?
> Maybe we should be moving histedit's "action processing" into core as
> well? I know I've wanted to do things in extensions like rewrite commit
> messages in a changeset in the middle of the stack. It's quite tedious.
> </scope bloat>

We definitely have plan for generic "action plan" processing in core, 
but this is definitly a much bigger task. I suggest going the simple 
evolve way first.

Pierre-Yves David

More information about the Mercurial-devel mailing list