Subject: bug#38044: 27.0.50; There should be an easier way to look at a specific vc commit

From: Stephen Berman <[email-masked]>
Date: Thu, 21 Nov 2019 22:15:21 +0100

On Thu, 21 Nov 2019 22:19:03 +0200 Eli Zaretskii <[email-masked]> wrote:

>> Cc: [email-masked], [email-masked], [email-masked],
>>  [email-masked]
>> From: Dmitry Gutov <[email-masked]>
>> Date: Thu, 21 Nov 2019 21:08:49 +0200
>>
>> "As I said before", when a revision is created, we fill in a number of
>> different fields, most importantly, the commit message. That's in every
>> VCS except some ancient ones. So to show a revision means to show all
>> that stuff.
>
> Here's an alternative proposal.  It seems like almost all VCS backends
> we support provide a variant of a "log" command that shows the diffs
> together with the usual meta-data shown by "log".  Only RCS and CVS
> don't have such an option of "log", all the rest do (most of them via
> "log -p").
>
> So we could make this a subcommand of vc-log, more accurately
> vc-print-root-log, such that "C-u C-u C-x v L" will prompt for a
> revision ID, and display the information produced by such a "log -p"
> command (and fall back to displaying just the diffs for RCS and CVS).
>
> Does this sound better?

If it's to be assigned to an existing VC command and key binding, I
think `log' is better than `diff' (FWIW, I named the git-specific
command I wrote for myself, posted near the top of this thread,
srb-git-log).  However, I'm not thrilled with the thought of having to
type two prefix keys to invoke it.  Since one of the desiderata of this
command, perhaps even the main one, is that it should act on the
revision ID at point, how about making just `C-x v L' do that if it
recognizes the word at point as a revision ID?  If this is deemed to
unreliable, it could be conditioned by a user option, or perhaps (though
more annoying) by asking for confirmation.

Steve Berman