diff -r b73552a00b20 -r c35694df7b13 mercurial/revlog.py --- a/mercurial/revlog.py Mon Jun 26 16:47:24 2006 +0200 +++ b/mercurial/revlog.py Wed Jun 28 15:49:33 2006 -0500 @@ -743,6 +743,11 @@ def lookup(self, id): """locate a node based on revision number or subset of hex nodeid""" + 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