Mercurial > public > mercurial-scm > hg
comparison mercurial/context.py @ 23560:aead63705504
changectx: use names api to simplify and extend node lookup
Previously, changectx had to know about each type of name (bookmark, tag, etc.)
to look up. Now, we use repo.namenodes to simplify (and extend) this.
author | Sean Farley <sean.michael.farley@gmail.com> |
---|---|
date | Thu, 16 Oct 2014 23:27:54 -0700 |
parents | 4dd8a6a1240d |
children | 3c2419e07df5 |
comparison
equal
deleted
inserted
replaced
23559:3b3a962e3677 | 23560:aead63705504 |
---|---|
405 except error.FilteredLookupError: | 405 except error.FilteredLookupError: |
406 raise | 406 raise |
407 except (TypeError, LookupError): | 407 except (TypeError, LookupError): |
408 pass | 408 pass |
409 | 409 |
410 if changeid in repo._bookmarks: | 410 # lookup bookmarks through the name interface |
411 self._node = repo._bookmarks[changeid] | 411 try: |
412 self._node = repo.names.singlenode(changeid) | |
412 self._rev = repo.changelog.rev(self._node) | 413 self._rev = repo.changelog.rev(self._node) |
413 return | 414 return |
415 except KeyError: | |
416 pass | |
417 | |
414 if changeid in repo._tagscache.tags: | 418 if changeid in repo._tagscache.tags: |
415 self._node = repo._tagscache.tags[changeid] | 419 self._node = repo._tagscache.tags[changeid] |
416 self._rev = repo.changelog.rev(self._node) | 420 self._rev = repo.changelog.rev(self._node) |
417 return | 421 return |
418 try: | 422 try: |