# HG changeset patch # User Pierre-Yves David # Date 2019-11-17 13:54:41 # Node ID bfaf4c673becc361b55428bb426c09c942347256 # Parent d86dede17392a7e2f979a4789a378d20cf4f0ecb 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 diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py --- a/mercurial/localrepo.py +++ b/mercurial/localrepo.py @@ -1708,6 +1708,10 @@ class localrepository(object): ''' 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, diff --git a/tests/test-repo-filters-tiptoe.t b/tests/test-repo-filters-tiptoe.t --- a/tests/test-repo-filters-tiptoe.t +++ b/tests/test-repo-filters-tiptoe.t @@ -70,7 +70,6 @@ Getting status of working copy 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 @@ Getting working copy diff 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