Subject: bug#73407: 31.0.50; Add diff-discard-hunk

From: Sean Whitton <[email-masked]>
Date: Tue, 24 Sep 2024 08:53:10 +0100

Hello,

On Tue 24 Sep 2024 at 01:52am +03, Dmitry Gutov wrote:

> Hi!
>
> On 21/09/2024 13:19, Sean Whitton wrote:
>> X-debbugs-cc: [email-masked], [email-masked]
>> These patches add a new command, diff-discard-hunk, inspired by some
>> functionality from Magit.  It nicely complements a workflow based around
>> committing with C-x v v from C-x v D.  I have been using it every day
>> for a year or so, and I think others will find it useful, too.
>
> I'd like to clarify one thing first: for 'C-x v v' to work correctly in a diff
> buffer (such as one produced by 'C-x v D') you don't have to synchronize any
> changes in that buffer back to disk before making the commit. In fact, we went
> to some effort to make this a non-requirement.

Right.  I believe I was responsible for some of that effort!

> So when you just want to edit the patch before the commit, you can do so
> already, for example using 'M-k' (diff-hunk-kill) - or just 'k' if the buffer
> is read-only.
>
> But of course if the idea is to really "discard" some changes, that works.

Yeah, this is about really discarding the changes.

It's like using C-x v D as a kind of review view.  You use it for
committing what you want to keep and getting rid of temporary changes
you made just for development purposes, such as additional debug prints.

When I used Magit I used its magit-discard for this a lot (the docstring
for that function talks about conflicts but it's also useful without those).

One question I have is whether this should offer a y/n prompt to confirm
discarding the change.  Do you have an opinion on that?

-- 
Sean Whitton