# HG changeset patch # User Matt Mackall # Date 1161127916 18000 # Node ID 5436c8fe0ff52524fcb80b8538edaf7eed9aeadb # Parent 028fff46a4acc38241be29f8d9f64339ed2da263 Make lookup aware of branch labels adjust precedence order slightly: - '.' - tags - branch labels - revlog order diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py --- a/mercurial/localrepo.py +++ b/mercurial/localrepo.py @@ -328,17 +328,18 @@ class localrepository(repo.repository): f.write("%s %s\n" % (hex(node), label)) def lookup(self, key): - try: + if key == '.': + key = self.dirstate.parents()[0] + if key == nullid: + raise repo.RepoError(_("no revision checked out")) + if key in self.tags(): return self.tags()[key] - except KeyError: - if key == '.': - key = self.dirstate.parents()[0] - if key == nullid: - raise repo.RepoError(_("no revision checked out")) - try: - return self.changelog.lookup(key) - except: - raise repo.RepoError(_("unknown revision '%s'") % key) + if key in self.branchtags(): + return self.branchtags()[key] + try: + return self.changelog.lookup(key) + except: + raise repo.RepoError(_("unknown revision '%s'") % key) def dev(self): return os.lstat(self.path).st_dev