Recent evolve --all changes

Pierre-Yves David pierre-yves.david at ens-lyon.org
Thu May 2 22:04:01 UTC 2019



On 4/29/19 10:32 PM, Kyle Lippincott wrote:
> f
> 
> On Mon, Apr 29, 2019 at 12:58 PM Sushil Khanchi 
> <sushilkhanchi97 at gmail.com <mailto:sushilkhanchi97 at gmail.com>> wrote:
> 
> 
> 
>     On Mon, Apr 29, 2019 at 9:35 PM Josef 'Jeff' Sipek
>     <jeffpc at josefsipek.net <mailto:jeffpc at josefsipek.net>> wrote:
> 
>         Hello,
> 
>         I recently updated and that pulled in 3ef96578 which adds an
>         implicit --all
>         to 'hg evolve'.  I have a couple of problems with that (or maybe
>         it is my
>         workflow that needs tweaking).
> 
>         1) Before the change, 'hg evolve' would evolve only one cset,
>         now it evolves
>             everything (all descendants?  I haven't experimented
>         enough).  This is
>             rather annoying when I check out an older cset with the
>         intention of
>             amending it.  Consider the (for me) common workflow:
> 
>             a) check out an older cset
>             b) edit
>             c) 'hg amend'
>             d) 'hg evolve' a few times to get enough changes into wdir
>             e) run various tests, possibly going back to step (a)
>             f) 'hg evolve' everything after the already evolved csets
> 
>             In the past this worked fine.
> 
>             With the new behavior, step (d) forces me to mentally
>         context switch by
>             forcing me to resolve all conflicts even if they are in
>         ancestors I'm not
>             currently working on (previously they'd be handled by step
>         (f) above).
> 
>             (This happens all the time when the history is of the form:
>         introduce a
>             library function foo, convert codebase to use foo, introduce
>         a library
>             function bar, convert codebase to use bar.)
> 
>             Am I missing something?  Is my workflow awkward for evolve
>         (and it just
>             happened to work in the past)?  Is there a new way to evolve
>         like there
>             was previously?
> 
> 
> I believe `hg next` will automatically evolve now, so that might be 
> sufficient for your use case?

Yes, the recommended way to stabilize your children on at a time is `hg 
next`. I has been the "official" way to do so for a couple of version.

(Yes I understand existing user need to be retrained)

I am still recommending incremental stabilization, for your day to day 
workflow, the interface to do this just shifted to `prev/next` (and 
checkout `hg stack` from the topic extensions too). Evolve move to be a 
more "secondary" command  more focused on dealing with consequences of 
exchanging draft, and less about stacked draft local workflow.

-- 
Pierre-Yves David


More information about the Evolve-testers mailing list