emacs-devel
[Top][All Lists]
Advanced

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

Re: vc-directory breakage


From: Stefan Monnier
Subject: Re: vc-directory breakage
Date: Tue, 06 May 2008 21:30:19 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux)

>> I believe you have misunderstood the request, then: "support the multi-VCS
>> case" means exactly what Dan asks, which is "make sure only one backend
>> is used for a given command, even if the command includes files that are
>> under various backends".
>> 
>> I.e. the issue is not "several subdirs of *vc-dir* which each use
>> a different backend", but "all the files under *vc-dir* are under the
>> control of several backends at the same time".

> I understood the second part.  But your first paragraph leaves me
> more confused than I was before.

> It is already the case that "only one backend is used for a given
> command, even if the command includes files that are under various
> backends".  If a fileset is not all owned by the same backend, a
> consistency check in vc-deduce-fileset will fail.

Why should it fail?

> What I don't see is what any of this has to do with keeping a buffer-local
> backend variable per directory, which is what Dan is saying he wants.

It's not per-directory.  It's per-buffer.  This way, there is no need to
check consistency within vc-deduce-fileset: it's consistent by construction.

> By hypothesis, backend is a per-*file* property.

Let's say I have a tree in ~/foo that's under both CVS and Arch.
Let's say I open a vc-dir on ~/foo where I want to see the Arch state.
Now let's say I also open the file ~/foo/toto.c and choose the CVS
backend in that buffer.

With the per-file backend you have the problem that ~/foo/titi.c is
(presumably) using Arch whereas ~/foo/toto.c is using CVS, so your
`diff' operation in the ~/foo vc-dir will fail complaining of an
inconsistent fileset.

With the per-buffer backend, there is no such problem.


        Stefan




reply via email to

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