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

3 messages from 2009-05-23 to 2009-05-29. Participants: Florian Köberle, Michael J Gruber.
Thread: https://gitlist.dev/t/19444

## Florian Köberle, 2009-05-23 09:18

Subject: gitignore bug: including files in an excluded directoy does not work.
Message-ID: <809f58722b8bdb916fa7816cd80d3833-EhVcXl1BQAtYRw8cBxcBWQEwfgFLV15YQUBGAEFbXkI3XV8WXlhwH1RQWEFeRENtXlhdQ1hSWAtfWg==-webmailer2@server05.webmailer.hosteurope.de>
URL: https://gitlist.dev/e/809f58722b8bdb916fa7816cd80d3833-EhVcXl1BQAtYRw8cBxcBWQEwfgFLV15YQUBGAEFbXkI3XV8WXlhwH1RQWEFeRENtXlhdQ1hSWAtfWg%3D%3D-webmailer2%40server05.webmailer.hosteurope.de

```
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, 2009-05-27 20:55

Subject: Re: gitignore bug: including files in an excluded directoy does not work.
Message-ID: <4A1DA8A7.9030606@drmicha.warpmail.net>
URL: https://gitlist.dev/e/4A1DA8A7.9030606%40drmicha.warpmail.net
In-Reply-To: <809f58722b8bdb916fa7816cd80d3833-EhVcXl1BQAtYRw8cBxcBWQEwfgFLV15YQUBGAEFbXkI3XV8WXlhwH1RQWEFeRENtXlhdQ1hSWAtfWg==-webmailer2@server05.webmailer.hosteurope.de>

```
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

```

## Florian Köberle, 2009-05-29 21:25

Subject: Re: gitignore bug: including files in an excluded directoy does not work.
Message-ID: <4A2052D5.80604@fkoeberle.de>
URL: https://gitlist.dev/e/4A2052D5.80604%40fkoeberle.de
In-Reply-To: <4A1DA8A7.9030606@drmicha.warpmail.net>

```
Michael J Gruber wrote:
> 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

```
