Subject: bug#35624: log-view-diff regression

From: Juri Linkov <[email-masked]>
Date: Thu, 16 May 2019 23:04:21 +0300

>>> You can also type 'C-u C-x v =', then '1.4', RET and C-j to omit the end
>>> version. That would also show the diff against the workfile.
>>
>> 10 keys more to type.
>
> You would normally paste the revision. And 'C-x v =' is already in my
> muscle memory.

Coping and then pasting requires more keypresses.

>> When this feature was enabled, I used it every day.
>
> Was it back in the days of CVS?

Nowadays I'm using it every day on Git: first I make the log buffer
writable by typing `C-x C-q', then type `C-o' at the top of the log
buffer to insert an empty line to make this feature available.

>> Currently I'm forced
>> to type 10 more keys every time.  I agree the log not to look weirder,
>> so better to not display Working.
>
> Could you explain what are you using it for? I understand a diff between
> revisions, and I understand a diff of the working tree against the index,
> but this kind of a diff seems pretty unusual.

The last time I used this feature today: I needed to revert some
previous commits partially, and before committing the reverting changes
I needed to check if necessary changes were reverted.  To do this, I
inserted an empty line at the top and set the beginning of the region here,
then set the end of the region on the line with the revision that
started a set of related commits.  Then just typed `=' and the displayed
diff confirmed that the right hunks were reverted, showing the diff
as it should have looked like without these reverted changes.

>> Or course, you didn't think about it, because you didn't know it exists.
>> I didn't know too until discovered it accidentally.  After that it hard
>> to lose this ability.  The problem is that this useful feature is
>> undocumented.  Here is the patch that documents it:
>
> I have tried to imagine using it, but it's still hard. Maybe doing it once
> a few days to compare the current progress against the master
> branch.

Yes, I believe a try is worth a thousand words.

> Though C-u C-x v d master RET C-j might be faster that looking for
> the revision that corresponds to the master branch in the log.

The log buffer helps to select the revisions to compare
because it displays dates and summaries of commits.