From: Jon Loeliger Date: Tue, 31 Jan 2006 19:44:27 GMT Subject: Re: [Census] So who uses git? Message-ID: <1138736666.24410.38.camel@cashmere.sps.mot.com> In-Reply-To: <7vbqxsyyym.fsf@assigned-by-dhcp.cox.net> On Tue, 2006-01-31 at 13:33, Junio C Hamano wrote: > "J. Bruce Fields" writes: > I think many good stuff git offers would not be helpful to the > users until index is understood as the third entity, in addition > to the usual "committed state" and "working tree state". It > might be better to talk about it sooner rather than later. And > the tool is geared towards taking advantage of it, so until the > user understands that, behaviour of some tools would feel > unintuitive. Agreed. > You can have local throw-away modifications while applying > patches and merging (I once broke merges by ignoring that it is > perfectly valid to have index and working tree files be > different and keep working that way. That was a hard lesson). > The index file knows what working tree changes are meant to be > committed. Another thing I find useful, which cannot be done > without index, is to sanity check while developing. When "git > diff" gives too many diffs, running update-index on paths that I > think are more-or-less OK helps to reduce clutter, and I can > view only further changes to those paths. And right there is where people get caught by surprise. What "they" then want to do is actually pick certain files to commit. And when they do, they get caught off guard by the _additional_ files. I have done this style of "update-index on more-or-less OK files in order to clear up the diff. And it is also in that time frame that I start feeling that certain changes belong to "one commit" or another. The result is, I want to then pick the parts that get committed together. But _really_ being certain exactly which files, and _only_ those files, will really be committed is tough. jdl