From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Dan Nicolaescu Newsgroups: gmane.emacs.devel Subject: Re: vc-directory breakage Date: Tue, 06 May 2008 09:34:05 -0700 Message-ID: <200805061634.m46GY5xb002425@sallyv1.ics.uci.edu> References: <20080505152149.E5BB99F054B@snark.thyrsus.com> <857ie8ahr3.fsf@lola.goethe.zz> <20080506000456.GA14206@thyrsus.com> <200805060036.m460aVto021222@sallyv1.ics.uci.edu> <20080506004849.GA14523@thyrsus.com> <20080506082112.GC23773@thyrsus.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1210091862 29549 80.91.229.12 (6 May 2008 16:37:42 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 6 May 2008 16:37:42 +0000 (UTC) Cc: "Eric S. Raymond" , Stefan Monnier , emacs-devel@gnu.org To: esr@thyrsus.com Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue May 06 18:38:16 2008 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1JtQB1-0007k0-RY for ged-emacs-devel@m.gmane.org; Tue, 06 May 2008 18:38:04 +0200 Original-Received: from localhost ([127.0.0.1]:55906 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JtQAJ-0000Tb-SU for ged-emacs-devel@m.gmane.org; Tue, 06 May 2008 12:37:19 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1JtQAG-0000TW-Hm for emacs-devel@gnu.org; Tue, 06 May 2008 12:37:16 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1JtQAA-0000TB-Rw for emacs-devel@gnu.org; Tue, 06 May 2008 12:37:15 -0400 Original-Received: from [199.232.76.173] (port=55065 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JtQAA-0000T8-P3 for emacs-devel@gnu.org; Tue, 06 May 2008 12:37:10 -0400 Original-Received: from sallyv1.ics.uci.edu ([128.195.1.109]) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_3DES_EDE_CBC_SHA1:24) (Exim 4.60) (envelope-from ) id 1JtQAA-0002gr-7f for emacs-devel@gnu.org; Tue, 06 May 2008 12:37:10 -0400 X-ICS-MailScanner-Watermark: 1210696450.40047@U5S6sec1E+07PXQvxItZBA Original-Received: from mothra.ics.uci.edu (mothra.ics.uci.edu [128.195.6.93]) by sallyv1.ics.uci.edu (8.13.7+Sun/8.13.7) with ESMTP id m46GY5xb002425; Tue, 6 May 2008 09:34:05 -0700 (PDT) In-Reply-To: <20080506082112.GC23773@thyrsus.com> (Eric S. Raymond's message of "Tue, 6 May 2008 04:21:12 -0400") Original-Lines: 37 X-ICS-MailScanner: Found to be clean X-ICS-MailScanner-SpamCheck: not spam, SpamAssassin (score=-1.44, required 5, autolearn=disabled, ALL_TRUSTED -1.44) X-ICS-MailScanner-From: dann@mothra.ics.uci.edu X-detected-kernel: by monty-python.gnu.org: Solaris 10 (beta) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:96596 Archived-At: "Eric S. Raymond" writes: > Stefan Monnier : > > 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. And C-u C-x v v > allows us to change the preferred backend for a set of files. > > 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. By > hypothesis, backend is a per-*file* property. I don't see how trying to > cache it per directory can be a good idea. It is not per-directory, it is per vc-dir view. vc-dir was designed to show the VC state of a subdirectory through a specific backend. There are UI features that take advantage from doing that: the headers can show backend specific information, things like branches, the module name for CVS, the repository, etc. Also backends provide backend specific menus (git and hg already do that). This will be a complete mess if headers/menus from multiple backends would appear. It is still possible to use different backends for the same directory: just add a prefix arg to vc-dir that asks about what backend to use.