threads / bug / 19444

gitignore bug: including files in an excluded directoy does not work.

Subject: gitignore bug: including files in an excluded directoy does not work.

## tl;dr

3 messages between May 23, 2009 and May 29, 2009.

replies: 2people: 2as markdown or json

Florian Köberle· May 23, 2009, 09:18 UTC · lore
steps to reproduce:

git init echo /src/config > .gitignore echo \!/src/config/readme.txt >> .gitignore mkdir -p src/config touch src/config/readme.txt git add src

expected results: git should add the readme.txt file

actual result: git doesn't add the readme.txt file

additional comments:

pre to the commit d6b8fc303b it was possible to archive the wished effect with this .gitignore file: ------------------ /src/config/ !/src/config/readme.txt ------------------ The pre d6b8fc303b git fails to detect that it can exclude src/config. Thus it checks the directory content and finds out that the readme.txt matches both - the exclude and the include pattern.

commit d6b8fc303b389b026f2bf9918f6f83041488989b
Author: Junio C Hamano <gitster pobox.com>
Date:   Thu Jan 31 01:17:48 2008 -0800
    gitignore(5): Allow "foo/" in ignore list to match directory "foo"

Best regards, Florian Köberle

Michael J Gruber· May 27, 2009, 20:55 UTC · re: Florian Köberle · lore

Re: gitignore bug: including files in an excluded directoy does not work.

Florian Köberle venit, vidit, dixit 23.05.2009 11:18:
Show 27 quoted lines
> steps to reproduce:
> 
> git init
> echo /src/config > .gitignore
> echo \!/src/config/readme.txt >> .gitignore
> mkdir -p src/config
> touch src/config/readme.txt
> git add src
> 
> expected results:
> git should add the readme.txt file
> 
> actual result:
> git doesn't add the readme.txt file
> 
> 
> additional comments:
> 
> pre to the commit d6b8fc303b it was possible to archive the wished effect
> with this .gitignore file:
> ------------------
> /src/config/
> !/src/config/readme.txt
> ------------------
> The pre d6b8fc303b git fails to detect that it can exclude src/config.
> Thus it checks the directory content and finds out that the readme.txt
> matches both - the exclude and the include pattern.
The change in behaviour was intentional. You get the desired effect using:

/src/config/* !/src/config/readme.txt

Cheers, Michael

Florian Köberle· May 29, 2009, 21:25 UTC · re: Michael J Gruber · lore

Re: gitignore bug: including files in an excluded directoy does not work.

Michael J Gruber wrote:
Show 45 quoted lines
> Florian Köberle venit, vidit, dixit 23.05.2009 11:18:
>   
>> steps to reproduce:
>>
>> git init
>> echo /src/config > .gitignore
>> echo \!/src/config/readme.txt >> .gitignore
>> mkdir -p src/config
>> touch src/config/readme.txt
>> git add src
>>
>> expected results:
>> git should add the readme.txt file
>>
>> actual result:
>> git doesn't add the readme.txt file
>>
>>
>> additional comments:
>>
>> pre to the commit d6b8fc303b it was possible to archive the wished effect
>> with this .gitignore file:
>> ------------------
>> /src/config/
>> !/src/config/readme.txt
>> ------------------
>> The pre d6b8fc303b git fails to detect that it can exclude src/config.
>> Thus it checks the directory content and finds out that the readme.txt
>> matches both - the exclude and the include pattern.
>>     
>
> The change in behaviour was intentional. You get the desired effect using:
>
> /src/config/*
> !/src/config/readme.txt
>
> Cheers,
> Michael
> --
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
>
>   
Hello Michael,
thanks for the explanation.

Best regards, Florian

← back to recent threads