From: Alex Riesen Date: Thu, 15 Nov 2007 21:17:27 GMT Subject: Re: refining .gitignores Message-ID: <20071115211727.GC3552@steel.home> In-Reply-To: <80ejerdzjd.fsf@tiny.isode.net> Bruce Stephens, Thu, Nov 15, 2007 21:28:06 +0100: > Alex Riesen writes: > > [...] > > > .gitignore? Without "s"? > > Yes, my mistake. I added '*.c' to ".gitignore". > > > Maybe your .c files are already added to index? Otherwise you have to > > use the second form. It shows known-to-Git ignored files. > > They are in the index. What I want is a list of files which are known > to git, which are matched by the default rules (in particular the > .gitignore files). > > So that should be this? > > git ls-files --exclude-per-directory=.gitignore -i Yes, so it seems. The per-directory ignore-files don't work. "--exclude-from=" (aka -X) still does. > But that shows nothing at all, and it still shows nothing if I add a > "builtin-add.c" as an argument to it (this file exists, and is in the > index). > > "git add builtin-add.c" fails, complaining (correctly) that the path > is ignored by one of my .gitignore files. > > We're obviously talking past one another somehow, or I have a broken > build of git? No, I honestly believed that Git-known files can be ignored. According to Linus I must be wrong, but I have an excuse: $ mkdir aaa $ cd aaa $ git init Initialized empty Git repository in .git/ $ uname >abc $ git add . $ ls > .gitignore $ git ls-files -X .gitignore $ git ls-files -X .gitignore -i abc