From: Mark Dominus Date: Sun, 30 Oct 2011 20:34:35 GMT Subject: Re: [PATCH] document 'T' status from git-status Message-ID: <4EADB4DB.5020004@icgroup.com> In-Reply-To: <7vmxcjro5t.fsf@alter.siamese.dyndns.org> On 10/30/2011 02:25 AM, Junio C Hamano wrote: > Mark Dominus 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?