Take one was bad and reverted in commit 8c72236. Take two provides a more complete solution to the pair of rules exclude/this !exclude/this/except/this 3/4 should do a better job at stopping regressions in take 1. 4/4 provides the solution. I think I have tested (and wrote tests) for all the cases I can imagine. Nguyễn Thái Ngọc Duy (4): dir.c: fix match_pathname() dir.c: support tracing exclude dir.c: support marking some patterns already matched dir.c: don't exclude whole dir prematurely Documentation/git-check-ignore.txt | 1 + Documentation/git.txt | 5 + Documentation/gitignore.txt | 17 ++- dir.c | 204 +++++++++++++++++++++++++++- dir.h | 3 + t/t3001-ls-files-others-exclude.sh | 7 +- t/t3007-ls-files-other-negative.sh (new +x) | 153 +++++++++++++++++++++ 7 files changed, 378 insertions(+), 12 deletions(-) create mode 100755 t/t3007-ls-files-other-negative.sh -- 2.7.0.377.g4cd97dd -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html