Patchwork D7475: localrepo: extract handling of some special value in __getitem__

login
register
mail settings
Submitter phabricator
Date Nov. 23, 2019, 11:53 a.m.
Message ID <14085669f8d447f820fbe5eeac655ab5@localhost.localdomain>
Download mbox | patch
Permalink /patch/43472/
State Not Applicable
Headers show

Comments

phabricator - Nov. 23, 2019, 11:53 a.m.
marmoute updated this revision to Diff 18342.

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D7475?vs=18327&id=18342

CHANGES SINCE LAST ACTION
  https://phab.mercurial-scm.org/D7475/new/

REVISION DETAIL
  https://phab.mercurial-scm.org/D7475

AFFECTED FILES
  mercurial/localrepo.py

CHANGE DETAILS




To: marmoute, #hg-reviewers, indygreg
Cc: mercurial-devel

Patch

diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py
--- a/mercurial/localrepo.py
+++ b/mercurial/localrepo.py
@@ -1533,14 +1533,16 @@ 
         # dealing with some special values
         if changeid == b'null':
             return context.changectx(self, nullrev, nullid)
+        if changeid == b'tip':
+            node = self.changelog.tip()
+            rev = self.changelog.rev(node)
+            return context.changectx(self, rev, node)
+
         # dealing with arbitrary values
         try:
             if isinstance(changeid, int):
                 node = self.changelog.node(changeid)
                 rev = changeid
-            elif changeid == b'tip':
-                node = self.changelog.tip()
-                rev = self.changelog.rev(node)
             elif changeid == b'.':
                 # this is a hack to delay/avoid loading obsmarkers
                 # when we know that '.' won't be hidden