localrepo: extract handling of some special value in __getitem__
The value "null" will always be present in a repository. So this lookup should
always succeed and do not need to be in the general try/catch.
Differential Revision: https://phab.mercurial-scm.org/D7474
--- a/mercurial/localrepo.py Sun Nov 17 03:27:51 2019 +0100
+++ b/mercurial/localrepo.py Thu Nov 21 17:53:08 2019 +0100
@@ -1530,14 +1530,14 @@
if i not in self.changelog.filteredrevs
]
+ # dealing with some special values
+ if changeid == b'null':
+ return context.changectx(self, nullrev, nullid)
# dealing with arbitrary values
try:
if isinstance(changeid, int):
node = self.changelog.node(changeid)
rev = changeid
- elif changeid == b'null':
- node = nullid
- rev = nullrev
elif changeid == b'tip':
node = self.changelog.tip()
rev = self.changelog.rev(node)