[PATCH V2] evolve: improve error message if unstable changes are disallowed
Mateusz Kwapich
mitrandir at fb.com
Fri Nov 25 07:28:51 EST 2016
LGTM, I suppose that timeless may also want to review it before it's
queued.
Excerpts from Pulkit Goyal's message of 2016-11-24 23:13:48 +0530:
> # HG changeset patch
> # User Pulkit Goyal <7895pulkit at gmail.com>
> # Date 1479915042 -19800
> # Wed Nov 23 21:00:42 2016 +0530
> # Node ID 920d5946d13339d9cf4828f678f0000b55063cd8
> # Parent cb2bac3253fbd52894ffcb4719a148fe6a3da38b
> evolve: improve error message if unstable changes are disallowed
>
> I saw a question on stackoverflow why evolve reports something like cannot
> fold chain not ending with head. Even I was confused the first time about the
> behavior. The error message can be improved to avoid confusion to people who
> are unaware about the config in future.
>
> diff -r cb2bac3253fb -r 920d5946d133 hgext/evolve.py
> --- a/hgext/evolve.py Wed Nov 02 18:56:44 2016 +0100
> +++ b/hgext/evolve.py Wed Nov 23 21:00:42 2016 +0530
> @@ -2514,7 +2514,8 @@
> raise error.Abort('nothing to prune')
>
> if _disallowednewunstable(repo, revs):
> - raise error.Abort(_("cannot prune in the middle of a stack"))
> + raise error.Abort(_("cannot prune in the middle of a stack"),
> + hint = _("new unstable changesets are not allowed"))
>
> # defines successors changesets
> sucs = scmutil.revrange(repo, succs)
> @@ -3234,8 +3235,9 @@
> newunstable = _disallowednewunstable(repo, revs)
> if newunstable:
> raise error.Abort(
> - _('cannot edit commit information in the middle of a stack'),
> - hint=_('%s will be affected') % repo[newunstable.first()])
> + _('cannot edit commit information in the middle of a '\
> + 'stack'), hint=_('%s will become unstable and new unstable'\
> + ' changes are not allowed') % repo[newunstable.first()])
> root = head = repo[revs.first()]
>
> wctx = repo[None]
> @@ -3299,7 +3301,8 @@
> head = repo[heads.first()]
> if _disallowednewunstable(repo, revs):
> raise error.Abort(_("cannot fold chain not ending with a head "\
> - "or with branching"))
> + "or with branching"), hint = _("new unstable"\
> + " changesets are not allowed"))
> return root, head
>
> def _disallowednewunstable(repo, revs):
> diff -r cb2bac3253fb -r 920d5946d133 tests/test-evolve.t
> --- a/tests/test-evolve.t Wed Nov 02 18:56:44 2016 +0100
> +++ b/tests/test-evolve.t Wed Nov 23 21:00:42 2016 +0530
> @@ -1301,9 +1301,11 @@
> created new head
> $ hg prune '26 + 27'
> abort: cannot prune in the middle of a stack
> + (new unstable changesets are not allowed)
> [255]
> $ hg prune '19::28'
> abort: cannot prune in the middle of a stack
> + (new unstable changesets are not allowed)
> [255]
> $ hg prune '26::'
> 3 changesets pruned
> @@ -1338,9 +1340,11 @@
>
> $ hg fold --exact "19 + 18"
> abort: cannot fold chain not ending with a head or with branching
> + (new unstable changesets are not allowed)
> [255]
> $ hg fold --exact "18::29"
> abort: cannot fold chain not ending with a head or with branching
> + (new unstable changesets are not allowed)
> [255]
> $ hg fold --exact "19::"
> 2 changesets folded
> @@ -1483,10 +1487,11 @@
> check that metaedit respects allowunstable
> $ hg metaedit '.^' --config 'experimental.evolution=createmarkers, allnewcommands'
> abort: cannot edit commit information in the middle of a stack
> - (c904da5245b0 will be affected)
> + (c904da5245b0 will become unstable and new unstable changes are not allowed)
> [255]
> $ hg metaedit '18::20' --fold --config 'experimental.evolution=createmarkers, allnewcommands'
> abort: cannot fold chain not ending with a head or with branching
> + (new unstable changesets are not allowed)
> [255]
> $ hg metaedit --user foobar
> 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
--
More information about the Mercurial-devel
mailing list