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

From: Eli Zaretskii <[email-masked]>
Date: Fri, 22 Nov 2019 10:03:27 +0200

> From: Juri Linkov <[email-masked]>
> Cc: [email-masked],  [email-masked],  [email-masked],
>   [email-masked]
> Date: Fri, 22 Nov 2019 01:13:23 +0200
> 
> >> It doesn't use 'region-history'.  I meant using 'region-history-mode'
> >> on the output buffer.
> >
> > Ah, okay.  Btw, region-history-mode is a Git-only feature, so I don't
> > think I understand why it is in vc.el and not in vc-git.el.
> 
> Maybe region-history-mode is not the best name, but at least
> it provides fontification for revisions composed of both
> the commit metadata and the diff of changes.

My problem is that having region-history-mode in vc.el requires every
backend to implement that mode, if it implements region-history.  What
that results in can be seen in vc-hg.el, where I recently added this
command's implementation.  Do you like the result?

> > Also, why only implement this for a single backend?  The corresponding
> > diff commands exist in every VCS we support, so let's implement this
> > for all of them, okay?  Let us know if you need help with other VCSes.
> 
> A new command was intended to produce the output similar to e.g.
> 
> http://git.savannah.gnu.org/cgit/emacs.git/commit/?id=6f30642973975a317a9c94ceba737a4bafc89919
> 
> i.e. first comes the metadata, then the commit message, and finally the diff.
> 
> Do other VCSes or their interfaces produce a similar layout?

Almost all of them do, see "log -p" command in each VCS ("log --diff"
for svn).

And the original request was for describing a revision, so if a VCS
doesn't support "log -p", we should simply display the diffs, because
that's the best description of the revision in those VCSes.