[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Limitations of Emacs' vc when using modern backends
From: |
Juliusz Chroboczek |
Subject: |
Re: Limitations of Emacs' vc when using modern backends |
Date: |
Thu, 15 Dec 2005 18:55:17 +0100 |
User-agent: |
Gnus/5.110004 (No Gnus v0.4) Emacs/21.4 (gnu/linux) |
>> If multiple revisions match, the latest one is chosen.
> And this is a feature of vc-darcs rather than of darcs itself, right?
No, it's actually a feature of Darcs itself.
> The same thing proably happens for you: "Update" may stand for
> "Update version number to 1.3" at some point and to "Update version
> number to 1.6" at the other, so the "vc-darcs.el~Update" can become
> out of date as well.
Yes, exactly.
> The only problem I see with `canonical-revision' is that for some backends
> it may be very costly (for CVS it requires a round trip to the repository),
> and it may suffer from race conditions.
Good point about the cost (see below). On the other hand, there's no
race condition if you do things in the right order: first normalise
the version, then fetch the file from the backend using the canonical
identifier.
> Now `canonical-revision' is more general, but I'm wondering: where would it
> be used other than in `vc-version-other-window'?
In the current vc-darcs, it's also used by vc-diff. I haven't checked
exhaustively if there are other instances where it might be useful.
I suggest that for backends that need it vc-BACKEND-canonical-revision
should be compulsory, and we should optionally allow checkout and diff
to return the canonical identifier(s). (What a pity elisp doesn't
have multiple return values). I believe that the former should be
considered for 22, while the latter is something we might need more
time to experiment with.
And adding generic support for completion is definitely a good idea.
Bug again it might be premature to aim for having it in 22.
Juliusz
Re: Limitations of Emacs' vc when using modern backends, Andre Spiegel, 2005/12/15