bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


From: Dmitry Gutov
Subject: bug#38044: 27.0.50; There should be an easier way to look at a specific vc commit
Date: Fri, 22 Nov 2019 21:59:14 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0

On 22.11.2019 9:20, Eli Zaretskii wrote:

Somewhat better, but all backends would have to be updated anyway, for
this to work.

It's new functionality, so that goes without saying.  Or did you mean
something specific when you said "updated"?

Not every new functionality needs explicit support from backends.

So the change in VC backend API is comparable to adding a new
action.

We don't necessarily need a change in the API: vc-print-log-internal
has enough arguments to pass this new meaning to it and to the
backends.  But even if there's a change in the API, it isn't a
catastrophe from my POV.

The backend API. It also has certain backward compatibility expectations.

Anyway, I'm saying the change you are proposing is roughly the same magnitude in complexity as adding a new backend 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.

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.

VC used to
be simple and elegant, and this proliferation of too many high-level
commands makes it more and more complex,

I hardly see any complexity in the presence of a command. There's more more of it in tiny details of implementation of the main ones.

> and inevitably causes us
> tweak the user level and UI to this or that particular VCS, which is
> wrong in the long run.

When was the last time we did that? And how adding a new command would cause it in this case?

Attachment: vc-print-revision-with-default.diff
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]