Subject: 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 23:03:41 +0200

> Cc: [email-masked], [email-masked], [email-masked],
>  [email-masked]
> From: Dmitry Gutov <[email-masked]>
> Date: Fri, 22 Nov 2019 21:59:14 +0200
> 
> >> 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.
> > 
> > I don't understand why would we lose that opportunity.  We will have
> > to write new code for each backend in any alternative,
> 
> Not necessarily. See the attached patch (it's a modification of Juri's).
> 
> Since we don't have a way to combine async process invocation, there is 
> some complexity there with accept-process-output. But from what I see, 
> the diff operation is considerably more resource-intensive, at least for 
> big Hg repos.
> 
> There is a catch, however: it requires an implementation of 
> region-history-mode. But, as you remarked, it can be extracted to be 
> more backend-independent.
> 
> Consequently, for now this "default" implementation only adds 
> print-revision support to Hg.

I'd prefer to use "log -p" in the backend ("log --diff" for svn),
because that yields a single command and will work for all the
backends except RCS and CVS.  The latter two can use "diff".

Thanks.