Subject: Re: [PATCH] doc: 'T' status code for git status

From: Jeff King <[email-masked]>
Date: Wed, 9 Dec 2020 16:32:02 -0500

On Wed, Dec 09, 2020 at 12:26:19PM -0800, Junio C Hamano wrote:

> A few things about the attached.
> 
>  - it drops "updated but" from the explanation of 'U' in the list.

Seems reasonable.

>  - after that, everything in the list becomes a single-word, so
>    instead of "type changed", it invents a verb "type-change" and
>    uses its pp. form when adding an entry for 'T'.

Also reasonable.

>  - it updates the table to add 'T' next to 'M'.

Yep, that was what I was thinking would make sense.

>  - "work tree changed since index" in the table was awkward; it
>    rephrases it to "modified in work tree relative to index",
>    because (1) these entries are not talking about the working tree
>    as a whole; it is one path in the working tree changing its
>    type. and (2) using "changed" and "updated" for the same 'M' in
>    different context was unnecessarily confusing.  Instead, it uses
>    'modified', which appears in the list before the table.

The first line seems funny to me now, though (diff abridged):

> -	 [AMD]   not updated
> +        [AMTD]   not changed

If the file is not changed, then why are we even mentioning it? Because
of course it _is_ changed in the filesystem, but the index was not
updated to reflect the change. And that's what I think the original was
getting at with "updated".

TBH, I find the whole table overly confusing. But then, I am completely
comfortable with the notion that it is really showing two diffs, with
their results collated. To me it is simpler to just discuss the two
sides of the diff independently, and then you do not even really need a
table at all ("M" means modified no matter which column it appears in).
But I may not be a representative Git user.

-Peff