mercurial/localrepo.py
changeset 3433 5436c8fe0ff5
parent 3432 028fff46a4ac
child 3434 d0459ec1455d
equal deleted inserted replaced
3432:028fff46a4ac 3433:5436c8fe0ff5
   326         f.write("%s %s\n" % (hex(t), self.changelog.count() - 1))
   326         f.write("%s %s\n" % (hex(t), self.changelog.count() - 1))
   327         for label, node in self.branchcache.iteritems():
   327         for label, node in self.branchcache.iteritems():
   328             f.write("%s %s\n" % (hex(node), label))
   328             f.write("%s %s\n" % (hex(node), label))
   329 
   329 
   330     def lookup(self, key):
   330     def lookup(self, key):
       
   331         if key == '.':
       
   332             key = self.dirstate.parents()[0]
       
   333             if key == nullid:
       
   334                 raise repo.RepoError(_("no revision checked out"))
       
   335         if key in self.tags():
       
   336             return self.tags()[key]
       
   337         if key in self.branchtags():
       
   338             return self.branchtags()[key]
   331         try:
   339         try:
   332             return self.tags()[key]
   340             return self.changelog.lookup(key)
   333         except KeyError:
   341         except:
   334             if key == '.':
   342             raise repo.RepoError(_("unknown revision '%s'") % key)
   335                 key = self.dirstate.parents()[0]
       
   336                 if key == nullid:
       
   337                     raise repo.RepoError(_("no revision checked out"))
       
   338             try:
       
   339                 return self.changelog.lookup(key)
       
   340             except:
       
   341                 raise repo.RepoError(_("unknown revision '%s'") % key)
       
   342 
   343 
   343     def dev(self):
   344     def dev(self):
   344         return os.lstat(self.path).st_dev
   345         return os.lstat(self.path).st_dev
   345 
   346 
   346     def local(self):
   347     def local(self):