[PATCH] match: normpath the ignore source when expanding the 'subinclude' kind
Augie Fackler
raf at durin42.com
Wed May 27 14:36:17 CDT 2015
On Wed, May 27, 2015 at 03:20:47PM -0400, Matt Harbison wrote:
> # HG changeset patch
> # User Matt Harbison <matt_harbison at yahoo.com>
> # Date 1432747696 14400
> # Wed May 27 13:28:16 2015 -0400
> # Node ID 694b522f45863a5cf7ab9e7831cba58300419503
> # Parent 83e07d0983ab226fbdb7768487688d3d94e474cb
> match: normpath the ignore source when expanding the 'subinclude' kind
Sure, queued.
>
> 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 --git a/mercurial/match.py b/mercurial/match.py
> --- a/mercurial/match.py
> +++ b/mercurial/match.py
> @@ -50,7 +50,7 @@ def _expandsubinclude(kindpats, root):
>
> 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)
>
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel at selenic.com
> https://selenic.com/mailman/listinfo/mercurial-devel
More information about the Mercurial-devel
mailing list