# HG changeset patch # User Matt Harbison # Date 1432747696 14400 # Node ID caaf4045eca8759a3a415bd81337fc85294178c1 # Parent 678d0bfdd31a1f74fddc399c3ee07013efa9a652 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. diff -r 678d0bfdd31a -r caaf4045eca8 mercurial/match.py --- 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)