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