From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: Customizing the VC backend order Date: Fri, 10 Aug 2007 00:33:43 -0400 Message-ID: References: <87lkck585o.fsf@uwakimon.sk.tsukuba.ac.jp> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1186720433 29577 80.91.229.12 (10 Aug 2007 04:33:53 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Fri, 10 Aug 2007 04:33:53 +0000 (UTC) Cc: Emacs Devel To: "Stephen J. Turnbull" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Aug 10 06:33:52 2007 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 1IJMC7-0004vn-EB for ged-emacs-devel@m.gmane.org; Fri, 10 Aug 2007 06:33:51 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1IJMC6-0005kS-LX for ged-emacs-devel@m.gmane.org; Fri, 10 Aug 2007 00:33:50 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1IJMC3-0005kD-IE for emacs-devel@gnu.org; Fri, 10 Aug 2007 00:33:47 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1IJMC2-0005k1-1P for emacs-devel@gnu.org; Fri, 10 Aug 2007 00:33:46 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1IJMC1-0005jy-V5 for emacs-devel@gnu.org; Fri, 10 Aug 2007 00:33:45 -0400 Original-Received: from tomts16.bellnexxia.net ([209.226.175.4] helo=tomts16-srv.bellnexxia.net) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1IJMC1-0007Ne-Hm for emacs-devel@gnu.org; Fri, 10 Aug 2007 00:33:45 -0400 Original-Received: from pastel.home ([70.53.193.128]) by tomts16-srv.bellnexxia.net (InterMail vM.5.01.06.13 201-253-122-130-113-20050324) with ESMTP id <20070810043344.YKMO574.tomts16-srv.bellnexxia.net@pastel.home> for ; Fri, 10 Aug 2007 00:33:44 -0400 Original-Received: by pastel.home (Postfix, from userid 20848) id DDF6F856E; Fri, 10 Aug 2007 00:33:43 -0400 (EDT) In-Reply-To: <87lkck585o.fsf@uwakimon.sk.tsukuba.ac.jp> (Stephen J. Turnbull's message of "Fri\, 10 Aug 2007 13\:24\:19 +0900") User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.1.50 (gnu/linux) X-Detected-Kernel: Solaris 8 (1) 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:76307 Archived-At: >> Hmm... that's interesting to know (I'm considering changing the way the >> search is done, which would naturally tend to give precedence to backends >> whose admin dir is closest, so CVS would then tend to unavoidably take >> precedence since it's always as close as any other). > This is very bad IMO, as if multiple systems are in use, CVS is almost > always a legacy distribution system. > Also, what about the RCS use-case where the ,v file is a sibling of > the controlled file? That's even closer, and even worse! Yes that's what dhruva's message pointed out. > While I see the logic behind your suggestion, I think what should be > done is to ask the user. The logic is sound for systems where only the topmost directory contains an admin dir (e.g. DaRCS, Arch, Git, Mercurial, Monotone, Bazaar). But yes, its interaction with the other systems isn't as simple as I thought. But asking the user is out of the question since the choice is made when visiting a file, long before we know if the user even cares about which backend is used. The motivation is also to do a single "look up in parent dirs", rather than one per backend. > For one thing, I can see a use case where you are maintaining a variant > version of an external library as a subdirectory of your project. In that > case, your changes should normally be managed by the higher level SCM, and > the local SCM will be pull-from-upstream only, until your patches > get accepted. VC-dired should use only one backend for all the files in it. So opening VC-dired on the higher-level dir will naturally indicate that that is the backend to use from there. Regarding the backend to use in the file's buffer, Emacs cannot know what to choose, so the choice has to be somewhat arbitrary, but hopefully (as dhruva points out) changeable by the user (the user can always use C-x v b later on). Stefan