Convenient metaedit

Matt Harbison mharbison72 at gmail.com
Fri May 3 02:20:21 UTC 2019


On Thu, 02 May 2019 17:59:12 -0400, Pierre-Yves David  
<pierre-yves.david at ens-lyon.org> wrote:

>
>
> On 4/27/19 9:16 AM, Friedrich Hagedorn wrote:
>> Hello,
>>  I tried the metaedit command from the evolve extension and was happy to
>> find a nearly convenient way to refactor the commit messages of my
>> recent commits. In order to metaedit the changesets with branched
>> ancestors together with an unclean work directory I need to do the
>> following steps:
>>       hg metaedit -r -4
>>      hg shelve
>>      hg hg evolve -aA
>>      hg unshelve
>>  Is it possible to include the last three steps into metaedit? This  
>> would
>> be really convenient!
>
> Yes, meta edit could be working fulling in-memory and skip the  
> requirement for a clean working copy.
>
> Can you file a bug at https://bz.mercurial-scm.org/ ?
>
> However, we don't usually do automatic evolution of the orphan created  
> by an evolution command. Stabilizing change on demand reduce the amount  
> of markers created. Out of control marker creation can become an issue  
> for very large stack.

Is it useful to do in-memory metaedit, if it didn't automatically  
restack?  I thought `hg evolve` complained if there's a dirty wdir.  The  
phab extension does this with a couple lines of code, but it gets weird if  
there were unstable descendants at the start.

Even though there are performance issues for creating a lot of markers, I  
wonder if it would be a good idea to have a config option to restack by  
default for new users.  I showed someone the help document and explained  
how amend + push could help simplify some CI config testing.  The response  
 from reading the help that I got was "that seems too complicated".  So if  
there's a way to get new users the ability to metaedit or amend something  
that's not a head, without having to teach about unstable right away, that  
might be a good thing.



More information about the Evolve-testers mailing list