Subject: Re: Bug#757297: 'git status' output is confusing after 'git add -N'

From: Junio C Hamano <[email-masked]>
Date: Thu, 07 Aug 2014 09:31:41 -0700

Duy Nguyen <[email-masked]> writes:

> On Thu, Aug 7, 2014 at 7:34 AM, Jonathan Nieder <[email-masked]> wrote:
>> Package: git
>> Version: 1:2.0.0-1
>> Tags: upstream
>>
>>   $ git init foo
>>   Initialized empty Git repository in /tmp/t/foo/.git/
>>   $ cd foo
>>   $ echo hi >README
>>   $ git add -N README
>>   $ git status
>>   On branch master
>>
>>   Initial commit
>>
>>   Changes to be committed:
>>     (use "git rm --cached <file>..." to unstage)
>>
>>           new file:   README
>>
>>   Changes not staged for commit:
>>     (use "git add <file>..." to update what will be committed)
>>     (use "git checkout -- <file>..." to discard changes in working directory)
>>
>>           modified:   README
>>
>> If I then run "git commit", it does not actually commit the addition
>> of the README file.
>
> We used to reject such a commit operation before 3f6d56d (commit:
> ignore intent-to-add entries instead of refusing - 2012-02-07) so it
> was harder to misunderstand this case.
>
>> It would be clearer to have a separate section,like so:
>>
>>   Tracked files not to be committed:
>>     (use "git rm --cached <file>..." to stop tracking)
>>
>>            new file:   README
>>
>
> Or make the "Changes not staged for commit" part say "new file:
> README" ("modified" is implied)

Yeah, after reading the justification in the quoted commit, I agree
that it is status that is at fault in the above; "new file: README"
is part of "Changes not staged for commit" in this case (it is told
to the index, but the user never said it is "for commit" yet, which
is the whole point of "-N"), so instead of adding a new section, I
agree that it should be classified as "new file" not "modified"
there.