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
--- 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