threads / discuss / 22953

Regression in `git add' in 1.7's 48ffef966c with a wildcard in .gitignore

Subject: Regression in `git add' in 1.7's 48ffef966c with a wildcard in .gitignore

## tl;dr

4 messages between Mar 8, 2010 and Mar 8, 2010.

replies: 3people: 3as markdown or json

Ævar Arnfjörð Bjarmason· Mar 8, 2010, 17:08 UTC · lore

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/foo
So 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:
    foo
But 1.7 just silently fails to add directory/foo to the index:
    $ git add directory/foo
    $ echo $?
    0
1.6 however does the right thing:
    $ git add directory/foo
    The following paths are ignored by one of your .gitignore files:
    directory/foo
    $ echo $?
    128

A 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.

Michael J Gruber· Mar 8, 2010, 20:06 UTC · re: Ævar Arnfjörð Bjarmason · lore

Re: Regression in `git add' in 1.7's 48ffef966c with a wildcard in .gitignore

Ævar Arnfjörð Bjarmason venit, vidit, dixit 08.03.2010 18:08:
Show 13 quoted lines
> 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/foo

Could this possibly be fixed by 13bb0ce (builtin-add: fix exclude handling, 2010-02-28) which is on pu?

Michael
Ævar Arnfjörð Bjarmason· Mar 8, 2010, 20:21 UTC · re: Michael J Gruber · lore

Re: Regression in `git add' in 1.7's 48ffef966c with a wildcard in .gitignore

On Mon, Mar 8, 2010 at 20:06, Michael J Gruber <git@drmicha.warpmail.net> wrote:
> Ævar Arnfjörð Bjarmason venit, vidit, dixit 08.03.2010 18:08:
> Could this possibly be fixed by 13bb0ce (builtin-add: fix exclude
> handling, 2010-02-28) which is on pu?

Yes. I just compiled pu and the issue with git-add is indeed fixed in 13bb0ce, thanks.

← back to recent threads