changeset 44106:bfaf4c673bec

localrepo: recognize trivial request for '.' Same logic as for `null`, this is a command request and skipping the revset logic can avoid triggering the changelog filtering logic. Differential Revision: https://phab.mercurial-scm.org/D7495
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Sun, 17 Nov 2019 14:54:41 +0100
parents d86dede17392
children 5a012404503b
files mercurial/localrepo.py tests/test-repo-filters-tiptoe.t
diffstat 2 files changed, 5 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/localrepo.py	Sun Nov 17 14:47:29 2019 +0100
+++ b/mercurial/localrepo.py	Sun Nov 17 14:54:41 2019 +0100
@@ -1708,6 +1708,10 @@
         '''
         if specs == [b'null']:
             return revset.baseset([nullrev])
+        if specs == [b'.']:
+            quick_data = self._quick_access_changeid.get(b'.')
+            if quick_data is not None:
+                return revset.baseset([quick_data[0]])
         if user:
             m = revset.matchany(
                 self.ui,
--- a/tests/test-repo-filters-tiptoe.t	Sun Nov 17 14:47:29 2019 +0100
+++ b/tests/test-repo-filters-tiptoe.t	Sun Nov 17 14:54:41 2019 +0100
@@ -70,7 +70,6 @@
 Getting data about the working copy parent
 
   $ hg log -r '.' -T "{node}\n{date}\n"
-  debug.filters: computing revision filter for "visible"
   c2932ca7786be30b67154d541a8764fae5532261
   0.00
 
@@ -111,8 +110,8 @@
 exporting the current changeset
 
   $ hg export
+  exporting patch:
   debug.filters: computing revision filter for "visible"
-  exporting patch:
   # HG changeset patch
   # User test
   # Date 0 0