Re: [RFC PATCH] git-add--interactive: manual hunk editing mode v2
- From
Jeff King <peff@peff.net>
- Date
- Jun 5, 2008, 09:20 UTC
- Message-ID
- <20080605092016.GA16748@sigill.intra.peff.net>
- In-Reply-To
- <200806051105.02802.trast@student.ethz.ch>
On Thu, Jun 05, 2008 at 11:04:58AM +0200, Thomas Rast wrote:
> (Somehow it seems rather ironic that I'm trying to implement a feature > that provides plenty of live bullets, yet keep shooting myself with > the _MUA_.)
Heh.
> I should have provided a definition, sorry. By "your" scheme, I meant > the one where one is restricted to deleting existing lines, and thus > deletes '-' lines to disable them; by "my" scheme, where one is free > to edit and changes '-' lines to context to disable them.
OK, thanks for the clarification.
Show 5 quoted lines
> At least it's my current understanding that, under the above > definition, "your" scheme is what you actually proposed in > http://www.spinics.net/lists/git/msg67478.html > [why doesn't Google find gmane?] > but I misunderstood and implemented "my" scheme.
For the record, "my" scheme was only half thought-through, and I think I actually like "your" scheme better. Once we give the user an editor, restricting them to a tiny subset of editor operations seems error-prone and annoying, since we have no way of enforcing those operations except to wait until after they edit and say "oops, you did something bad."
> [Let's just forget about the original patch at the top of the thread; > in retrospect, it _is_ clunky, and the UI didn't get any replies in > favour.]
It seems like Junio isn't all that keen on the raw patch-editing interface. And even if we do like it, I think there is still room for a less error-prone but more restrictive feature that mere mortals can use. So maybe there is a better interface yet.
What about 'S' to do a "line split"; that is, take the current hunk, and anywhere there are adjacent changed lines, split them into their own hunks. I.e. the hunk,
line 1 +line 2 -line 3 line 4 -line 5
becomes three hunks:
line 1 +line 2
-line 3 line 4
-line 5
and then we proceed as usual, staging or not each split hunk. It would be clunky to separate one or two lines from a huge chunk (since you would inadvertently split the huge chunk and have to stage each individually). But in many cases you can split into smaller hunks first with 's'.
-Peff