--- a/mercurial/revlog.py Thu Aug 03 20:06:05 2006 -0500
+++ b/mercurial/revlog.py Thu Aug 03 21:24:19 2006 -0500
@@ -744,8 +744,6 @@
def lookup(self, id):
"""locate a node based on revision number or subset of hex nodeid"""
- if id in self.nodemap:
- return id
if type(id) == type(0):
return self.node(id)
try:
@@ -760,10 +758,13 @@
if hex(n).startswith(id):
c.append(n)
if len(c) > 1: raise RevlogError(_("Ambiguous identifier"))
- if len(c) < 1: raise RevlogError(_("No match found"))
- return c[0]
+ if len(c) == 1: return c[0]
- return None
+ # might need fixing if we change hash lengths
+ if len(id) == 20 and id in self.nodemap:
+ return id
+
+ raise RevlogError(_("No match found"))
def diff(self, a, b):
"""return a delta between two revisions"""