Subject: Re: [PATCH] document 'T' status from git-status

From: Mark Dominus <[email-masked]>
Date: Sun, 30 Oct 2011 16:34:35 -0400

On 10/30/2011 02:25 AM, Junio C Hamano wrote:
> Mark Dominus<[email-masked]>  writes:
>
>
>> +* 'T' = file type changed
>> +  (typically from plain file to symlink, or vice versa)
>>
>>   Ignored files are not listed, unless `--ignored` option is in effect,
>>   in which case `XY` are `!!`.
>> @@ -134,9 +136,11 @@ in which case `XY` are `!!`.
>>       D         [ M]   deleted from index
>>       R        [ MD]   renamed in index
>>       C        [ MD]   copied in index
>> +    T        [ MD]   file type changed in index
>>       [MARC]           index and work tree matches
>>       [ MARC]     M    work tree changed since index
>>       [ MARC]     D    deleted in work tree
>> +    [ MARC]     T    file type changed in work tree
> The current organization of this table may need to be rethought, but if we
> were to keep it, then this change is far from sufficient. For example, you
> do not explain what XY = TT means.
Thanks for your response.

I did not try to document that because in my experimenting I was not 
able to produce that situation.  T occurs when the filetype (as reported 
by the IS_FMT macro) is different between the two files.  On systems I 
have available, there are essentially five filetypes:  plain file, 
symlink, directory, block and character devices.  Directories are 
handled separately and are not reported by git-status.  Device files 
cannot be added to the index at all.  That leaves only two possible 
filetypes, so of the three files (the committed version, the cached 
version, and the working tree version) two must be the same.

I am aware that on some systems other filetypes may exist.  For example, 
HPUX has an 'H' filetype that is a variant of a directory.  But git 
would treat this as a directory.  Since I was not aware of any situation 
in which TT could arise, I did not try to document it.

Will you be applying the alternative patch you suggested, or would you 
prefer that I try to produce one along those lines?