Re: [PATCH] update-index: add --swap to swap index and worktree content
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Aug 16, 2011, 21:56 UTC
- Message-ID
- <7vbovpggva.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <20110816210108.GA13710@sigill.intra.peff.net>
Jeff King <peff@peff.net> writes:
Show 19 quoted lines
> # add some content with an error
> echo 'printf("hello word!\n")' >hello.c
> git add hello.c
>
> # work on it more, realizing the error
> echo 'printf("goodbye world!\n") >hello.c
>
> # now what? you want to stage the s/word/world/ fixup,
> # but you want to keep the hello/goodbye thing as a separate change.
> # Using anything line-based is going to conflate the two.
> # The change is simple, though, so you can just as easily edit the
> # index file, if only you could get to it. So you do:
> git update-index --swap hello.c
> sed -i s/word/world/ hello.c
> git update-index --swap hello.c
>
> So the swap really functions as a toggle of "I would like to work on
> the index version for a minute", and then you toggle back when you're
> done.And you have to redo what you did to the index version in the working tree after the second "swap", no?