mercurial/revlog.py
changeset 2650 156fb1feab62
parent 2600 c4325f0a9b91
child 2651 6414ee2eb688
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