Regression in `git add' in 1.7's 48ffef966c with a wildcard in .gitignore
- From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
- Date
- Mar 8, 2010, 17:08 UTC
- Message-ID
- <51dd1af81003080908i3bc94f27lc99e146bb57993ba@mail.gmail.com>
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.