[PATCH 1 of 4 evolve-ext] evolve: don't crash on singled out revisions
Pierre-Yves David
pierre-yves.david at ens-lyon.org
Wed Jun 3 13:40:49 CDT 2015
On 06/02/2015 04:01 PM, Laurent Charignon wrote:
> # HG changeset patch
> # User Laurent Charignon <lcharignon at fb.com>
> # Date 1433186952 25200
> # Mon Jun 01 12:29:12 2015 -0700
> # Node ID 9a20329fa7e7d62ad59053be9353ec1285023763
> # Parent 69e5de3e6129185469c2cbf98383ac6d58260d0c
> evolve: don't crash on singled out revisions
>
> Before this patch, we were crashing on unsolvable revisions when using
> evolve --rev. This patch removes the crash and prints a warning when we
> encounter such revision.
This one is pushed to main with small adjustment. Please read feedback
below for potential followup patch.
> diff --git a/hgext/evolve.py b/hgext/evolve.py
> --- a/hgext/evolve.py
> +++ b/hgext/evolve.py
> @@ -1398,9 +1398,12 @@
> progresscb=None):
> """Stabilize a unstable changeset"""
> obs = orig.parents()[0]
> + if not obs.obsolete() and len(orig.parents()) == 2:
> + obs = orig.parents()[1] # second parent is obsolete ?
> +
> if not obs.obsolete():
> - obs = orig.parents()[1] # second parent is obsolete ?
> - assert obs.obsolete()
> + ui.warn("Cannot solve instability of %s, skipping\n" % orig)
- We do not capitalise ui message (so s/Cannot/cannot/), I fixed that in
flight.
- Can we get the action first 'skipping %s:%i: bla bla bla' (in a follow
up patch) this is the most important information and should appear first
to ease analysis of the output.
- 'cannot solve instability' is a bit vague. can we get something more
informative? Various idea below.
- 'parent need to be stabilized first'
- 'no obsolete parent'
- 'instability is inherited' (far too obscure)
- 'already as stable as currently possible'
> + $ hg glog
small nit. I replaced that by `hg log -G` because it is a more modern form.
--
Pierre-Yves David
More information about the Mercurial-devel
mailing list