|
From: | Dmitry Gutov |
Subject: | bug#38044: 27.0.50; There should be an easier way to look at a specific vc commit |
Date: | Wed, 20 Nov 2019 01:17:18 +0200 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0 |
On 19.11.2019 19:43, Eli Zaretskii wrote:
It's kind of both. 'git show HEAD' is the format that I'd personally expect: some meta info, including the commit message, followed by the diff contents.That's true, but I'd hesitate to introduce a new class of "show" commands just because Git has it. I see no problem showing the meta-data with diffs (when Git is the back-end), perhaps with an option to disable that.
These two sentences seem to contradict each other. To do the latter, we need to "introduce a new class of show commands". Because vc-git-diff won't print any metadata.
My rationale is that other VCSes have a diff command that shows only the diffs, and that command is used "to show" a revision with those VCSes.
IMO the log message is more important because it describes and justifies what happened. Showing the diff is good as well.
Maybe the other VCSes don't have a simple command to do the same, but they can either be called twice, or use special formatting. For instance, Hg can use this command:
hg log -r <REV> -p
And don't we already have a "diff" command which shows diffs for a specific revision?It *can* do that. And we also have a command that shows the revision log message and stuff: vc-annotate-show-log-revision-at-line. We could reuse its logic. And either add a diff output at the botton (making it a different command an dealing with major mode having to support both the headers and the diff), or rely on log-view-mode's bindings (the user can press 'd' or 'D' there).I think we should disconnect this "show" command from "log". It is conceptually wrong to make them related. Of course a vc-log buffer could have (and already has, AFAIK) a binding to a command that shows the revision at point's line.
Linking to a commit message from a diff buffer wouldn't really work. But we can "link" to a diff buffer from a common message buffer.
Of course, it's better to just display both.
[Prev in Thread] | Current Thread | [Next in Thread] |