Mercurial > hg
diff hgext/fix.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 | 66ff8d3865b3 |
children | f12a19d03d2c |
line wrap: on
line diff
--- a/hgext/fix.py Tue Sep 28 09:08:43 2021 -0700 +++ b/hgext/fix.py Tue Sep 28 08:47:11 2021 -0700 @@ -144,6 +144,7 @@ context, copies, error, + logcmdutil, match as matchmod, mdiff, merge, @@ -420,7 +421,7 @@ if opts[b'all']: revs = repo.revs(b'(not public() and not obsolete()) or wdir()') elif opts[b'source']: - source_revs = scmutil.revrange(repo, opts[b'source']) + source_revs = logcmdutil.revrange(repo, opts[b'source']) revs = set(repo.revs(b'(%ld::) - obsolete()', source_revs)) if wdirrev in source_revs: # `wdir()::` is currently empty, so manually add wdir @@ -428,7 +429,7 @@ if repo[b'.'].rev() in revs: revs.add(wdirrev) else: - revs = set(scmutil.revrange(repo, opts[b'rev'])) + revs = set(logcmdutil.revrange(repo, opts[b'rev'])) if opts.get(b'working_dir'): revs.add(wdirrev) for rev in revs: @@ -618,7 +619,7 @@ # The --base flag overrides the usual logic, and we give every revision # exactly the set of baserevs that the user specified. if opts.get(b'base'): - baserevs = set(scmutil.revrange(repo, opts.get(b'base'))) + baserevs = set(logcmdutil.revrange(repo, opts.get(b'base'))) if not baserevs: baserevs = {nullrev} basectxs = {repo[rev] for rev in baserevs}