I've discovered a regression in git-add the 1.7 release which I can't see reported anywhere. It was introduced in 48ffef966c762578eb818c0c54a7e11dd054f5db by Junio C Hamano at Fri Jan 8 23:05:41 2010.
The problem is that when you have a .gitignore file with * in it git-add will only complain that you're trying to add ignored files if they're in the top level of your repository, for files in subdirectories it now just silently fails:
$ mkdir test && cd test && git init
$ echo "*" > .gitignore
$ mkdir directory && touch foo directory/fooSo far so good, now if I try to add 'foo' I get an error from both 1.6 and 1.7:
$ git add foo
The following paths are ignored by one of your .gitignore files:
fooBut 1.7 just silently fails to add directory/foo to the index:
$ git add directory/foo
$ echo $?
01.6 however does the right thing:
$ git add directory/foo
The following paths are ignored by one of your .gitignore files:
directory/foo
$ echo $?
128A test script / bisect script I used is available at git://github.com/avar/git-add-fail.git I couldn't figure out how to turn it into a Git test.