D11831: errors: use detailed error for invalid commit-extras argument
martinvonz (Martin von Zweigbergk)
phabricator at mercurial-scm.org
Mon Nov 29 21:58:52 UTC 2021
martinvonz created this revision.
Herald added a reviewer: hg-reviewers.
Herald added a subscriber: mercurial-patches.
REPOSITORY
rHG Mercurial
BRANCH
default
REVISION DETAIL
https://phab.mercurial-scm.org/D11831
AFFECTED FILES
hgext/commitextras.py
tests/test-commit.t
CHANGE DETAILS
diff --git a/tests/test-commit.t b/tests/test-commit.t
--- a/tests/test-commit.t
+++ b/tests/test-commit.t
@@ -134,13 +134,13 @@
$ hg add quux
$ hg commit -m "adding internal used extras" --extra amend_source=hash
abort: key 'amend_source' is used internally, can't be set manually
- [255]
+ [10]
$ hg commit -m "special chars in extra" --extra id at phab=214
abort: keys can only contain ascii letters, digits, '_' and '-'
- [255]
+ [10]
$ hg commit -m "empty key" --extra =value
abort: unable to parse '=value', keys can't be empty
- [255]
+ [10]
$ hg commit -m "adding extras" --extra sourcehash=foo --extra oldhash=bar
$ hg log -r . -T '{extras % "{extra}\n"}'
branch=default
diff --git a/hgext/commitextras.py b/hgext/commitextras.py
--- a/hgext/commitextras.py
+++ b/hgext/commitextras.py
@@ -65,23 +65,23 @@
b"unable to parse '%s', should follow "
b"KEY=VALUE format"
)
- raise error.Abort(msg % raw)
+ raise error.InputError(msg % raw)
k, v = raw.split(b'=', 1)
if not k:
msg = _(b"unable to parse '%s', keys can't be empty")
- raise error.Abort(msg % raw)
+ raise error.InputError(msg % raw)
if re.search(br'[^\w-]', k):
msg = _(
b"keys can only contain ascii letters, digits,"
b" '_' and '-'"
)
- raise error.Abort(msg)
+ raise error.InputError(msg)
if k in usedinternally:
msg = _(
b"key '%s' is used internally, can't be set "
b"manually"
)
- raise error.Abort(msg % k)
+ raise error.InputError(msg % k)
inneropts['extra'][k] = v
return super(repoextra, self).commit(*innerpats, **inneropts)
To: martinvonz, #hg-reviewers
Cc: mercurial-patches, mercurial-devel
More information about the Mercurial-devel
mailing list