From: Jeff King Date: Tue, 16 Aug 2011 23:06:54 GMT Subject: Re: [PATCH] update-index: add --swap to swap index and worktree content Message-ID: <20110816230654.GA21793@sigill.intra.peff.net> In-Reply-To: <7vzkj9eza2.fsf@alter.siamese.dyndns.org> On Tue, Aug 16, 2011 at 04:01:57PM -0700, Junio C Hamano wrote: > > No. The point is that I _already_ did it in the working tree version > > But that does not change that you have to do that twice. You may already > have done so in the working tree, and then redo it in the old indexed > version again. Right. The point is that the changes are tangled, to the point that it is simpler to recreate them on one side than it is to instruct a tool about how to untangle them. If they weren't tangled, then I would simply make the change in the working tree, and then "add -p" it into the index. It's certainly not the dominant case. I'd say I run into it no more frequently than once every week or so. I usually end up using "add -e" to do what I want, but it's very error prone and annoying. > > while doing my s/hello/goodbye/ change (let's call this the "new > > change"). And ideally I would just use "git add -p" to stage only the > > s/word/world/ change (let's call this the "fixup"). But they're tangled > > in a single hunk, and I need some way of splitting them. > > As a way to punt from making "add -e" usable, I'd think it would be a > workable q&d workaround, even though it feels wrong, and I would imagine > that normal people would probably prefer the "check out to a temporary > file to be edited" solution you wrote in your previous message. Yeah, I think that is the sanest of the options brought up in this thread. I'm curious if Duy had another use case, though, that made him think of --swap. -Peff