Subject: Re: [PATCH] check-ignore: clarify treatment of tracked files

From: Michael J Gruber <[email-masked]>
Date: Mon, 08 Dec 2014 17:13:08 +0100

Junio C Hamano schrieb am 04.12.2014 um 21:15:
> Michael J Gruber <[email-masked]> writes:
> 
>> By default, check-ignore does not list tracked files at all since
>> they are not subject to ignore patterns.
>>
>> Make this clearer in the man page.
>>
>> Reported-by: Guilherme <[email-masked]>
>> Signed-off-by: Michael J Gruber <[email-masked]>
>> ---
>> That really is a bit confusing. Does this help?
> 
> Thanks.
> 
> "git check-ignore" is a tool to debug your .gitignore settings when
> your expectation does not match the reality, so having this new
> sentence here is a good thing to do, but I wonder if there is a more
> prominent and central place where people learn about the ignore
> mechanism the first place.  If we had this sentence there, too, that
> may reduce the need to debug their .gitignore settings in the first
> place.
> 
> Perhaps Documentation/gitignore.txt?  Documentation/user-manual.txt?

gitignore.txt has

DESCRIPTION
       A gitignore file specifies intentionally untracked files that Git
should ignore. Files already tracked by Git are not affected; see the
       NOTES below for details.

I doesn't get any clearer. But then the notes read:

NOTES
       The purpose of gitignore files is to ensure that certain files
not tracked by Git remain untracked.

       To ignore uncommitted changes in a file that is already tracked,
use git update-index --assume-unchanged.

       To stop tracking a file that is currently tracked, use git rm
--cached.

That is again clear for our case (line 1), but line 2 is troublesome,
isn't it?

user-manual mainly refers to gitignore. So I guess it's good, but that
line about assume-unchanged doesn't quite match with the discussion in
another current thread.

Michael