Skip to content
Snippets Groups Projects
Commit 3de48ff6 authored by Durham Goode's avatar Durham Goode
Browse files

ignore: fix include: rules depending on current directory (issue4759)

When reading pattern files, we just call open(path), which is relative to the
current directory.  Let's fix this by resolving the paths before attempting to
read the file.
parent a72e304d
No related branches found
No related tags found
No related merge requests found
......@@ -289,7 +289,8 @@
continue
elif kind == 'include':
try:
includepats = readpatternfile(pat, self._warn)
fullpath = pathutil.join(root, pat)
includepats = readpatternfile(fullpath, self._warn)
for k, p, source in self._normalize(includepats, default,
root, cwd, auditor):
kindpats.append((k, p, source or pat))
......
......@@ -186,8 +186,9 @@
Check recursive uses of 'include:'
$ echo "include:nestedignore" >> otherignore
$ echo "glob:*ignore" > nestedignore
$ echo "include:nested/ignore" >> otherignore
$ mkdir nested
$ echo "glob:*ignore" > nested/ignore
$ hg status
A dir/b.o
......@@ -199,6 +200,13 @@
$ mv goodignore otherignore
Check using 'include:' while in a non-root directory
$ cd ..
$ hg -R ignorerepo status
A dir/b.o
$ cd ignorerepo
Check including subincludes
$ hg revert -q --all
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment