Significant improvement to the `hg evolve` commands, please update to version 5.2.0

Pierre-Yves David pierre-yves.david at ens-lyon.org
Fri Jun 26 01:54:35 UTC 2015


Good news everyone!

I've just pushed a tag for version 5.2.0, it contains significant 
improvement for the 'evolve' commands. This release support from 3.3 to 
current state of future 3.5.

The evolve commands have always been fairly raw and unpredictable. This 
has led a lot of advanced user to stop using it and rely on 'hg rebase' 
instead. This new version fixes multiples of the most obvious issue we 
had with evolve. It should now be more predictable and controllable.
We cannot expect new user to rely on `hg rebase` for evolving unstable 
changesets, evolve has more information and should be able to be less 
error prone. We are probably still not totally there, but we've made 
significant progress. Please give another try to the evolve commands so 
that we can keep improving the UI.

## Changes to "hg evolve":

- The category of trouble to be solve can be selected with three new 
flag --unstable (default), --divergent, --bumped,

- A new --rev option can be used to select the revisions to be evolved,

- bare "hg evolve" target now abort if there is an ambiguity on the next 
changesets to be evolved,

- "hg evolve --all" now only evolve changeset that will create new 
descendant to the current working copy. use "hg evolve --all --any" to 
get the old behavior.

- error message and hint for non-handled case have been improved,

- help have been improved,

## Changes to "hg next" and "hg prev":

- refuse to move with uncommited change, unless you specify --merge.

- a --evolve flag have been added to trigger on-demand evolution of the 
next unstable child in the stack.

## Other Changes:

- message about obsolete working copy parent now suggest `hg evolve` to 
update to the successors

- add a 'experimental.evolutioncommands' for fine grained commands enabling

- compatibility with current state of the Mercurial default branch.

- Thanks goes to Laurent Charignon for doing most of these work.

Happy testing,

Greg: you may want to introduce some of the new thing in the user 
documentation. (and we should get automatic tests for it.)

-- 
Pierre-Yves David

PS: ability to abort a whole rebase and better handling of re-ordering 
are not handled in this version. We'll eventually get to it.


More information about the Evolve-testers mailing list