Mercurial > public > mercurial-scm > hg
diff mercurial/debugcommands.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 | 78e66649cdb3 |
children | 5105a9975407 |
line wrap: on
line diff
--- a/mercurial/debugcommands.py Tue Sep 28 09:08:43 2021 -0700 +++ b/mercurial/debugcommands.py Tue Sep 28 08:47:11 2021 -0700 @@ -1082,7 +1082,7 @@ ui.status(_(b'comparing with %s\n') % urlutil.hidepassword(remoteurl)) else: branches = (None, []) - remote_filtered_revs = scmutil.revrange( + remote_filtered_revs = logcmdutil.revrange( unfi, [b"not (::(%s))" % remote_revs] ) remote_filtered_revs = frozenset(remote_filtered_revs) @@ -1096,7 +1096,7 @@ remote._repo = remote._repo.filtered(b'debug-discovery-remote-filter') if local_revs: - local_filtered_revs = scmutil.revrange( + local_filtered_revs = logcmdutil.revrange( unfi, [b"not (::(%s))" % local_revs] ) local_filtered_revs = frozenset(local_filtered_revs) @@ -1134,7 +1134,7 @@ def doit(pushedrevs, remoteheads, remote=remote): nodes = None if pushedrevs: - revs = scmutil.revrange(repo, pushedrevs) + revs = logcmdutil.revrange(repo, pushedrevs) nodes = [repo[r].node() for r in revs] common, any, hds = setdiscovery.findcommonheads( ui, repo, remote, ancestorsof=nodes, audit=data @@ -2593,7 +2593,7 @@ l.release() else: if opts[b'rev']: - revs = scmutil.revrange(repo, opts[b'rev']) + revs = logcmdutil.revrange(repo, opts[b'rev']) nodes = [repo[r].node() for r in revs] markers = list( obsutil.getmarkers( @@ -4009,7 +4009,7 @@ cache = {} ctx2str = bytes node2str = short - for rev in scmutil.revrange(repo, revs): + for rev in logcmdutil.revrange(repo, revs): ctx = repo[rev] ui.write(b'%s\n' % ctx2str(ctx)) for succsset in obsutil.successorssets( @@ -4068,7 +4068,7 @@ raise error.RepoError( _(b'there is no Mercurial repository here (.hg not found)') ) - revs = scmutil.revrange(repo, opts['rev']) + revs = logcmdutil.revrange(repo, opts['rev']) props = {} for d in opts['define']: