Re: GIT - breaking backward compatibility
- From
- Brian Gerst <bgerst@didntduck.org>
- Date
- Sep 20, 2005, 04:12 UTC
- Message-ID
- <432F8C33.5080603@didntduck.org>
- In-Reply-To
- <7vpsr4cx0f.fsf@assigned-by-dhcp.cox.net>
Junio C Hamano wrote:
Show 46 quoted lines
> I raised the following issues in my previous messages but did > not hear many opinions [*1*]. I do not want to take it as a > blank check from the community to do whatever I please. So here > is a recap. > > * Tools renaming plan calls for removal of the backward > compatible command names (e.g. git-fsck-cache and > git-update-cache) sometime in the future. This is scheduled > for 0.99.8 around beginning of October. If somebody wants > extended amnesty period, this can be pushed back but unless I > hear otherwise... > > * After reviewing the current set of commands, the following do > not seem to be useful anymore; Linus said he feels they can > go, and nobody else objected: > > git-diff-helper git-diff-stages git-export git-rev-tree > > I'd like to remove them before 1.0, and planning to do it > within the 0.99.8 timeframe unless I hear otherwise. > > * After Brian Gerst posted a patch to show 'modified' files in > ls-files [*2*], there was a brief discussion to change the > tagged output markings to make them more readable, but > neither Cogito nor StGIT seems to use tagged output. I am > currently thinking about removing '-t' altogether. > > Again, unless I hear otherwise, I'd like to remove it within > the 0.99.8 timeframe. > > > BTW, independent from any of these I'll be doing a 0.99.7a > soonish for "fixes only" on top of 0.99.7. > > > [Footnote] > > *1* Well, Pasky indicated he does not like some of the terms in > the glossary in his recent Cogito release announcement, but that > was unfortunately after the fact. > > *2* I haven't taken this patch not because I do not think > showing 'modified' file is a bad idea but because showing cache > dirty files as 'modified' did not feel right to me. I think > doing what 'git-update-index --refresh' does without actually > refreshing the cache status bits would be the right way to go.
Essentially what I want to do is:
git-ls-files --others | xargs git-update-index --add -- git-ls-files --deleted | xargs git-update-index --remove -- git-ls-files --modified | xargs git-update-index --
This will completely resync the index and cache to the working tree state after applying a patch. git-update-index --refresh only updates the stat info in the index. It does _not_ write a new cache object if the file contents have actually changed.
Cogito would benefit from this too. It currently uses git-diff-index and some ugly sed expressions in cg-commit to detect modified files.
If your objection is to calling the files modifed, then call it dirty or something else.
-- Brian Gerst