From: Junio C Hamano Date: Thu, 13 Oct 2011 17:38:31 GMT Subject: Re: Git attributes ignored for root directory Message-ID: <7vfwiw6bc8.fsf@alter.siamese.dyndns.org> In-Reply-To: <4E96C220.5050601@svario.it> Gioele Barabucci writes: > On 13/10/2011 00:12, Junio C Hamano wrote: > ... >> How would you say the same thing if the directory to be ignored weren't >> "foo" but at the top-level of the working tree? There is no such level >> higher than the top-level where you can say "/" >> in its .gitignore file. > > Shouldn't `/.` or `/./` work? > > I see that `/*/` in `.gitignores` successfully ignores all the > non-hidden directories in the root project directory. Another > accidental success? :) Hannes correctly explained how /*/ works already; armed with that knowledge, we can understand that: /. would mean "what matches dot only in this directory." /./ would mean "what matches dot only in this directory but the thing that matches must be a directory." ./ would mean "what matches dot in this directory and its subdirectories, but the thing that matches must be a directory." Given that "." does _not_ match the directory that has the .gitignore or the .gitattribute file with the current system, none of the above patterns can be used to match everything in the top level directory in a way similar to how you can say "foo/" to match everything in "foo" directory from the top-level directory. The answer to your question is no, it shouldn't work. Without adding a rule to the "Pattern Format" section as I suggested in my message that Michael quoted in his question, that is.