Mercurial > hg > mercurial-crew
changeset 19048:1163ff06ce89
histedit: more precise user message when changeset is missing
Now that we explicitly detect duplicated changesets, we can explicitly
detect missing ones. We cover the same cases as before, some others
and we offer a better error message in all cases.
author | Pierre-Yves David <pierre-yves.david@logilab.fr> |
---|---|
date | Thu, 18 Apr 2013 15:27:50 +0200 |
parents | 81de87f8b480 |
children | 2e5476980a57 |
files | hgext/histedit.py tests/test-histedit-arguments.t |
diffstat | 2 files changed, 6 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext/histedit.py +++ b/hgext/histedit.py @@ -718,8 +718,6 @@ parsed = [] expected = set(str(c) for c in ctxs) seen = set() - if len(rules) != len(expected): - raise util.Abort(_('must specify a rule for each changeset once')) for r in rules: if ' ' not in r: raise util.Abort(_('malformed line "%s"') % r) @@ -738,6 +736,10 @@ if action not in actiontable: raise util.Abort(_('unknown action "%s"') % action) parsed.append([action, ha]) + missing = sorted(expected - seen) # sort to stabilize output + if missing: + raise util.Abort(_('missing rules for changeset %s') % missing[0], + hint=_('do you want to use the drop action?')) return parsed def processreplacement(repo, replacements):
--- a/tests/test-histedit-arguments.t +++ b/tests/test-histedit-arguments.t @@ -77,7 +77,8 @@ > pick eb57da33312f 2 three > pick 08d98a8350f3 4 five > EOF - abort: must specify a rule for each changeset once + abort: missing rules for changeset c8e68270e35a + (do you want to use the drop action?) [255] Test that extra revisions are detected