match: normpath the ignore source when expanding the 'subinclude' kind
Windows was previously getting this test failure:
--- e:/Projects/hg/tests/test-hgignore.t
+++ e:/Projects/hg/tests/test-hgignore.t.err
@@ -230,6 +230,7 @@
$ hg status
? dir1/file2
+ ? dir1/subdir/subfile3
? dir1/subdir/subfile4
? dir2/file1
@@ -241,4 +242,4 @@
$ echo "glob:file*2" > dir1/.hgignoretwo
$ hg status | grep file2
- [1]
+ ? dir1/file2
The problem was 'source' would be in the form "F:\test-hgignore.t\.hgignore", so
when pathutil.dirname() split on '/', 'sourceroot' was empty. Therefore, 'path'
ended up being relative instead of absolute.
--- a/mercurial/match.py Sat May 23 21:18:47 2015 -0700
+++ b/mercurial/match.py Wed May 27 13:28:16 2015 -0400
@@ -50,7 +50,7 @@
for kind, pat, source in kindpats:
if kind == 'subinclude':
- sourceroot = pathutil.dirname(source)
+ sourceroot = pathutil.dirname(util.normpath(source))
pat = util.pconvert(pat)
path = pathutil.join(sourceroot, pat)