Subject: Re: Why does git track directory listed in .gitignore/".git/info/exclude"?

From: Adam Piatyszek <[email-masked]>
Date: Wed, 30 Jan 2008 13:35:05 +0100

* Linus Torvalds [23 I 2008 22:17]:
> On Wed, 23 Jan 2008, pradeep singh rautela wrote:
>> But i still would like to ask git gurus here.
>> Isn't it fine to include a directory name as
>>
>>    $directory_name/
>>     instead of
>>    $directory_name/*
> 
> Heh.
> 
> I think your problem is that "/" itself. By adding it, the exclude 
> information does *not* match the directory entry itself (because the 
> directory entry itself is called just "xen-3.1.0-src" - note no slash!), 
> and since you added it, it also doesn't match any names _under_ that 
> directory exactly.
> 
> So what you *should* have done is to just tell git to ignore the directory 
> named "xen-3.1.0-src", and you'd have been ok.
> 
> Using "xen-3.1.0-src/*" works too, but it is heavy-handed and unnecessary.

Hi Linus, Pradeep and All,

In my opinion, the exclude matching routine should convert "dir/" to 
"dir", especially that the "git status" command lists untracked 
directories with the trailing slash "/", e.g:

   ediap@lespaul ~/git/acm_ofdm $ git status
   # On branch master
   # Untracked files:
   #   (use "git add <file>..." to include in what will be committed)
   #
   #       ldpc13.bm
   #       results/

So, most newbies will try to add "dir/" to .gitignore or 
.git/info/exclude instead of "dir" in such a case.

Can you seen any drawbacks of such modification?

BR,
/Adam

-- 
.:.  Adam Piatyszek (ediap)  .:.....................................:.
.:.  [email-masked]  .:................................:.