# HG changeset patch # User Yuya Nishihara # Date 1438002880 -32400 # Node ID 511e1949d55708e7eeacc8ab7874df534422e4c6 # Parent 3e84f40232c7931dbeca16e563ae8f63ca12cf4d ignore: fix path concatenation of .hgignore on Windows Since 3de48ff62733, .hgignore is ignored on Windows because a pat may have a drive letter, but pathutil.join is posixpath.join. "z:\foo\bar/z:\foo\bar\.hgignore" Instead, this patch uses os.path.join() and util.localpath() to process both parts as file-system paths. Maybe we can remove os.path.join() at dirstate._ignore because 'include:' is resolved relative to repo root? It was introduced by a04c7b74b3d5. diff -r 3e84f40232c7 -r 511e1949d557 mercurial/match.py --- a/mercurial/match.py Sun Jul 26 09:28:52 2015 -0300 +++ b/mercurial/match.py Mon Jul 27 22:14:40 2015 +0900 @@ -5,7 +5,7 @@ # This software may be used and distributed according to the terms of the # GNU General Public License version 2 or any later version. -import copy, re +import copy, os, re import util, pathutil from i18n import _ @@ -289,7 +289,7 @@ continue elif kind == 'include': try: - fullpath = pathutil.join(root, pat) + fullpath = os.path.join(root, util.localpath(pat)) includepats = readpatternfile(fullpath, self._warn) for k, p, source in self._normalize(includepats, default, root, cwd, auditor):