mercurial/revlog.py
changeset 2567 2748253b49c2
parent 2561 494f7787d8ee
child 2600 c4325f0a9b91
equal deleted inserted replaced
2559:bf67d0f6531c 2567:2748253b49c2
   741                     continue
   741                     continue
   742         return c
   742         return c
   743 
   743 
   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:
       
   747             return id
       
   748         if type(id) == type(0):
       
   749             rev = id
       
   750             if rev < 0: rev = self.count() + rev
       
   751             if rev < 0 or rev >= self.count(): return None
       
   752             return self.node(rev)
   746         try:
   753         try:
   747             rev = int(id)
   754             rev = int(id)
   748             if str(rev) != id: raise ValueError
   755             if str(rev) != id: raise ValueError
   749             if rev < 0: rev = self.count() + rev
   756             if rev < 0: rev = self.count() + rev
   750             if rev < 0 or rev >= self.count(): raise ValueError
   757             if rev < 0 or rev >= self.count(): raise ValueError