[PATCH stable?] match: let 'path:.' and 'path:' match everything (issue4687)

Matt Harbison mharbison72 at gmail.com
Sat Jun 20 19:23:28 CDT 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 1d273b2fbf6350cb29c499d15f776d04ee7cfcdf
# Parent  4359485eb420d7474c22e492dcf6d9596f50fc9a
match: let 'path:.' and 'path:' match everything (issue4687)

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 == '' or 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