|
From: | Dmitry Gutov |
Subject: | bug#38044: 27.0.50; There should be an easier way to look at a specific vc commit |
Date: | Thu, 21 Nov 2019 23:05:07 +0200 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0 |
On 21.11.2019 22:19, Eli Zaretskii wrote:
"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").
Somewhat better, but all backends would have to be updated anyway, for this to work. So the change in VC backend API is comparable to adding a new action.
I don't mind this too much (asking vc-git-print-log to include the diffs makes sense, at least), but doing it this way loses out on the opportunity to support all backends in one fell swoop. And we can do that by adding a default 'print-revision' implementation that calls two other backend actions (print-log and diff).
Or, again, we can do that for all backends and forego a new backend action altogether.
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?
I hardly see myself ever choosing 'C-u C-u C-x v L' instead of 'M-x vc-print-revision'. Simply because I'll never remember the former.
Are you really that against a new command?Considering we have vc-print-branch-log for simply showing the same thing for a different branch, that feels... inconsistent.
[Prev in Thread] | Current Thread | [Next in Thread] |