Elijah Newren <newren@xxxxxxxxx> writes: > I think it's kind of lame that git-add won't provide a warning for > ignored files when the match is via glob/pattern; if git-add didn't > end up adding anything, but an ignored file was matched, I think a > warning is appropriate. I am not so sure. When I have this in my exclude list: tmp-* and have this file in the working tree: tmp-000.txt I am not sure if I want to see any such warning when I did $ git add "*.txt" After all, I said that I never would want to worry about anything that begins with "tmp-". It would be a totally different issue if I did $ git add tmp-000.txt as I am contermanding my previous wish and saying that I care about this particular file, even if its name begins with "tmp-". So far, the flow of logic is simple, clear and straight-forward. BUT. What makes the whole thing tricky is that people don't do $ git add "*.txt" The instead do $ git add *.txt and "git add" cannot tell if the tmp-000.txt it sees is what the user meant, or what the shell expanded. If there were no shell glob expansion, then "warn only if a glob/pattern did not match any" would have been an attractive option, especially when we had another file in the working tree, say, hello.txt, next to the tmp-000.txt. Then $ git add "*.txt" would add only hello.txt, and we won't see a warning about tmp-000.txt. But end-users will use shell expansion, i.e. $ git add *.txt (1) warning against tmp-000.txt because the command line named it explicitly (from "git add"'s point of view, but never from the user's point of view) would be a disaster. I think that is why your suggestion was "if git-add did not add anything then warn". but ... (2) not warning, because the command line named hello.txt as well, i.e. "git add" added something, would make it inconsistent. Whether there is another file whose name ends with .txt, what the user typed (i.e. *.txt) to the command line is the same, and the exclude pattern (i.e. tmp-*) is the same, but the presence of an unrelated hello.txt affects if a warning is given for tmp-000.txt. So, I dunno.