match: fix root calculation for combining regexps with simple paths stable
authorMads Kiilerich <madski@unity3d.com>
Tue, 30 Apr 2013 01:04:35 +0200
branchstable
changeset 19107 fcf08023c011
parent 19106 3d0dd890c525
child 19108 cb95716da5fe
match: fix root calculation for combining regexps with simple paths The fall-back root for walking is the repo root, not no root. The "roots" do however also end up in m.files() which is used in various ways, for instance to indicate whether matches are exact. The change could thus have other impacts.
mercurial/match.py
tests/test-status.t
--- a/mercurial/match.py	Tue Apr 30 05:01:32 2013 +0900
+++ b/mercurial/match.py	Tue Apr 30 01:04:35 2013 +0200
@@ -344,7 +344,7 @@
             r.append('/'.join(root) or '.')
         elif kind in ('relpath', 'path'):
             r.append(name or '.')
-        elif kind == 'relglob':
+        else: # relglob, re, relre
             r.append('.')
     return r
 
--- a/tests/test-status.t	Tue Apr 30 05:01:32 2013 +0900
+++ b/tests/test-status.t	Tue Apr 30 01:04:35 2013 +0200
@@ -100,6 +100,13 @@
   ? ../1/in_b_1
   ? in_b_2
   ? ../in_b
+
+combining patterns with root and patterns without a root works
+
+  $ hg st a/in_a re:.*b$
+  ? a/in_a
+  ? b/in_b
+
   $ cd ..
 
   $ hg init repo2