Mercurial > hg
changeset 37408:dd2753729853
simplestore: shore up lookup errors
When revisions or nodes can't be resolved, we're expected to raise
an error.LookupError. When I ported code from revlog.py, I failed
to realize that "LookupError" in that module is aliased to
error.LookupError. I thought we were using the builtin LookupError
instead.
This commit switches us to error.LookupError. It also fixes
rev() to raise error.LookupError instead of KeyError.
Differential Revision: https://phab.mercurial-scm.org/D3092
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Wed, 04 Apr 2018 09:31:19 -0700 |
parents | 567bddcb4271 |
children | 4c15bee42e9c |
files | tests/simplestorerepo.py |
diffstat | 1 files changed, 8 insertions(+), 11 deletions(-) [+] |
line wrap: on
line diff
--- a/tests/simplestorerepo.py Wed Apr 04 09:57:21 2018 -0700 +++ b/tests/simplestorerepo.py Wed Apr 04 09:31:19 2018 -0700 @@ -152,8 +152,10 @@ def rev(self, node): validatenode(node) - # Will raise KeyError. - self._indexbynode[node] + try: + self._indexbynode[node] + except KeyError: + raise error.LookupError(node, self._indexpath, _('no node')) for rev, entry in self._indexbyrev.items(): if entry[b'node'] == node: @@ -171,11 +173,8 @@ return self.node(node) if len(node) == 20: - try: - self.rev(node) - return node - except LookupError: - pass + self.rev(node) + return node try: rev = int(node) @@ -196,10 +195,10 @@ rawnode = bin(node) self.rev(rawnode) return rawnode - except (TypeError, LookupError): + except TypeError: pass - raise LookupError(node, self._path, _('invalid lookup input')) + raise error.LookupError(node, self._path, _('invalid lookup input')) def linkrev(self, rev): validaterev(rev) @@ -280,8 +279,6 @@ if node == nullid: return b'' - self._indexbynode[node] - rev = self.rev(node) flags = self.flags(rev)