Mercurial > hg
diff hgext/transplant.py @ 48116:5ced12cfa41b
errors: raise InputError on bad revset to revrange() iff provided by the user
Most callers of `scmutil.revrange()` pass in a revset provided by the
user. If there are problems resolving that, it should result in an
`InputError` and exit code 10 (when using detailed exit
codes). However, there are also some callers that pass in revsets not
provided by the user. `InputError` is not appropriate in those
cases. This patch therefore introduces a wrapper around
`scmutil.revrange()` that simply converts the exception type. I put it
in `logcmdutil.py` since that seems to be the lowest-level module in
the (poorly defined) UI layer.
Differential Revision: https://phab.mercurial-scm.org/D11560
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Tue, 28 Sep 2021 08:47:11 -0700 |
parents | d55b71393907 |
children | 6000f5b25c9b |
line wrap: on
line diff
--- a/hgext/transplant.py Tue Sep 28 09:08:43 2021 -0700 +++ b/hgext/transplant.py Tue Sep 28 08:47:11 2021 -0700 @@ -37,7 +37,6 @@ pycompat, registrar, revset, - scmutil, smartset, state as statemod, util, @@ -845,7 +844,7 @@ if opts.get(b'prune'): prune = { source[r].node() - for r in scmutil.revrange(source, opts.get(b'prune')) + for r in logcmdutil.revrange(source, opts.get(b'prune')) } matchfn = lambda x: tf(x) and x not in prune else: @@ -853,7 +852,7 @@ merges = pycompat.maplist(source.lookup, opts.get(b'merge', ())) revmap = {} if revs: - for r in scmutil.revrange(source, revs): + for r in logcmdutil.revrange(source, revs): revmap[int(r)] = source[r].node() elif opts.get(b'all') or not merges: if source != repo: