Thread (5 messages) flat view 5 messages, 2 authors, 2016-06-15

gitignore: negating path patterns

From: Michael J Gruber <hidden>
Date: 2016-06-15 22:44:37

Hi there

It seems that negating path patterns in gitignore doesn't work, or I
don't understand it (or both). With the attached script, git status
(1.5.5.1) reports "dir/a" as new and "dir/b" as untracked. I would
rather expect it to report "dir/c" as untracked also.

It seems that "!b" matches to include "dir/b" (reverting the exclusion
"*" as expected), whereas "!dir/" does not match to include "dir/c".

What's going on here?

Michael

P.S.: "*" in dir/.gitignore would do what I want, but I want all
patterns in one place.

P.P.S.: My first attempt at sending this was blocked (by an MS CDO for 
Exchange 2000?! Is this gmane playing pranks on me?). So I'll resend 
with the script inline rather than attached.

---etest.sh---


#!/bin/sh
rm -Rf test
mkdir test
cd test
git init
mkdir dir
echo test > a
echo test > dir/a
echo test > dir/b
echo test > dir/c
git add dir/a
cat > .git/info/exclude <<EOF
*
!dir/
!b
EOF
git status
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help