mercurial/revlog.py
changeset 2567 2748253b49c2
parent 2561 494f7787d8ee
child 2600 c4325f0a9b91
--- a/mercurial/revlog.py	Tue Jul 04 15:36:05 2006 -0700
+++ b/mercurial/revlog.py	Wed Jul 05 13:28:25 2006 -0500
@@ -743,6 +743,13 @@
 
     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):
+            rev = id
+            if rev < 0: rev = self.count() + rev
+            if rev < 0 or rev >= self.count(): return None
+            return self.node(rev)
         try:
             rev = int(id)
             if str(rev) != id: raise ValueError