[PATCH stable? V2] match: let 'path:.' and 'path:' match everything (issue4687)
Matt Harbison
mharbison72 at gmail.com
Sun Jun 21 15:21:40 UTC 2015
# HG changeset patch
# User Matt Harbison <matt_harbison at yahoo.com>
# Date 1434844766 14400
# Sat Jun 20 19:59:26 2015 -0400
# Node ID 55c0d9db1542351d819f9ceb9997fdfc6b8430a7
# Parent 4359485eb420d7474c22e492dcf6d9596f50fc9a
match: let 'path:.' and 'path:' match everything (issue4687)
Previously, both queries exited with code 1, printing nothing. The pattern in
the latter query is normalized to '.', so it is really the same case.
diff --git a/mercurial/match.py b/mercurial/match.py
--- a/mercurial/match.py
+++ b/mercurial/match.py
@@ -505,6 +505,8 @@
if kind == 're':
return pat
if kind == 'path':
+ if pat == '.':
+ return ''
return '^' + util.re.escape(pat) + '(?:/|$)'
if kind == 'relglob':
return '(?:|.*/)' + _globre(pat) + globsuffix
diff --git a/tests/test-locate.t b/tests/test-locate.t
--- a/tests/test-locate.t
+++ b/tests/test-locate.t
@@ -106,6 +106,19 @@
$ mkdir otherdir
$ cd otherdir
+ $ hg files path:
+ ../b (glob)
+ ../dir.h/foo (glob)
+ ../t.h (glob)
+ ../t/e.h (glob)
+ ../t/x (glob)
+ $ hg files path:.
+ ../b (glob)
+ ../dir.h/foo (glob)
+ ../t.h (glob)
+ ../t/e.h (glob)
+ ../t/x (glob)
+
$ hg locate b
../b (glob)
../t/b (glob)
More information about the Mercurial-devel
mailing list