Mercurial > public > mercurial-scm > hg
comparison mercurial/cmdutil.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 | e8d6261513b9 |
children | 5105a9975407 |
comparison
equal
deleted
inserted
replaced
48115:b067d22dc6ad | 48116:5ced12cfa41b |
---|---|
985 """Change the branch name of given revs to label""" | 985 """Change the branch name of given revs to label""" |
986 | 986 |
987 with repo.wlock(), repo.lock(), repo.transaction(b'branches'): | 987 with repo.wlock(), repo.lock(), repo.transaction(b'branches'): |
988 # abort in case of uncommitted merge or dirty wdir | 988 # abort in case of uncommitted merge or dirty wdir |
989 bailifchanged(repo) | 989 bailifchanged(repo) |
990 revs = scmutil.revrange(repo, revs) | 990 revs = logcmdutil.revrange(repo, revs) |
991 if not revs: | 991 if not revs: |
992 raise error.InputError(b"empty revision set") | 992 raise error.InputError(b"empty revision set") |
993 roots = repo.revs(b'roots(%ld)', revs) | 993 roots = repo.revs(b'roots(%ld)', revs) |
994 if len(roots) > 1: | 994 if len(roots) > 1: |
995 raise error.InputError( | 995 raise error.InputError( |