comparison mercurial/revlog.py @ 2650:156fb1feab62

lookup should allow -1 to represent nullid (if passed an int as arg)
author Benoit Boissinot <benoit.boissinot@ens-lyon.org>
date Mon, 17 Jul 2006 01:58:50 +0200
parents c4325f0a9b91
children 6414ee2eb688
comparison
equal deleted inserted replaced
2629:a49534aac47d 2650:156fb1feab62
744 def lookup(self, id): 744 def lookup(self, id):
745 """locate a node based on revision number or subset of hex nodeid""" 745 """locate a node based on revision number or subset of hex nodeid"""
746 if id in self.nodemap: 746 if id in self.nodemap:
747 return id 747 return id
748 if type(id) == type(0): 748 if type(id) == type(0):
749 rev = id 749 return self.node(id)
750 if rev < 0: rev = self.count() + rev
751 if rev < 0 or rev >= self.count(): return None
752 return self.node(rev)
753 try: 750 try:
754 rev = int(id) 751 rev = int(id)
755 if str(rev) != id: raise ValueError 752 if str(rev) != id: raise ValueError
756 if rev < 0: rev = self.count() + rev 753 if rev < 0: rev = self.count() + rev
757 if rev < 0 or rev >= self.count(): raise ValueError 754 if rev < 0 or rev >= self.count(): raise ValueError