From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Eric S. Raymond" Newsgroups: gmane.emacs.devel Subject: Re: Ready to start serious work on VC mode again Date: Fri, 2 May 2008 15:24:14 -0400 Organization: Eric Conspiracy Secret Labs Message-ID: <20080502192414.GB24392@thyrsus.com> References: <20080428181932.5BD019F0434@snark.thyrsus.com> <854p9jpm2y.fsf@lola.goethe.zz> <20080501080904.GB14751@thyrsus.com> <877ieeasc9.fsf@uwakimon.sk.tsukuba.ac.jp> <87prs5vqrm.fsf@gmail.com> <85tzhghj3g.fsf@lola.goethe.zz> Reply-To: esr@thyrsus.com NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1209756329 2124 80.91.229.12 (2 May 2008 19:25:29 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 2 May 2008 19:25:29 +0000 (UTC) Cc: "Eric S. Raymond" , "Stephen J. Turnbull" , Paul R , Stefan Monnier , emacs-devel@gnu.org To: David Kastrup Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri May 02 21:26:04 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 1Js0tB-0001U9-Ua for ged-emacs-devel@m.gmane.org; Fri, 02 May 2008 21:25:50 +0200 Original-Received: from localhost ([127.0.0.1]:50177 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Js0sU-0001jY-KU for ged-emacs-devel@m.gmane.org; Fri, 02 May 2008 15:25:06 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Js0rQ-00014q-Uh for emacs-devel@gnu.org; Fri, 02 May 2008 15:24:00 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Js0rO-00013a-Tm for emacs-devel@gnu.org; Fri, 02 May 2008 15:24:00 -0400 Original-Received: from [199.232.76.173] (port=40901 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Js0rO-00013V-QB for emacs-devel@gnu.org; Fri, 02 May 2008 15:23:58 -0400 Original-Received: from static-71-162-243-5.phlapa.fios.verizon.net ([71.162.243.5] helo=snark.thyrsus.com) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1Js0rK-0005qU-QA; Fri, 02 May 2008 15:23:54 -0400 Original-Received: by snark.thyrsus.com (Postfix, from userid 1000) id D35249F051B; Fri, 2 May 2008 15:24:14 -0400 (EDT) Content-Disposition: inline In-Reply-To: <85tzhghj3g.fsf@lola.goethe.zz> X-Eric-Conspiracy: There is no conspiracy User-Agent: Mutt/1.5.17+20080114 (2008-01-14) X-detected-kernel: by monty-python.gnu.org: Linux 2.6 (newer, 3) 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:96347 Archived-At: David Kastrup : > > [Back ends] should be associated to buffers instead. > > Or buffers should be able to override the association with a > buffer-local binding. You may have to write this yourself if you want it. There are two problems blocking a solution from me. One is that the mode has *other* significant design problems that could eat all my coding time for quite a while. One of the largest, which I'm going to post about here in more detail shortly, is designing a command set that has sensible behavior on both file-oriented and repo-oriented VCSes. Following my big rewrite the back ends now handle this distinction just fine, but there are *nasty* problems in the front-end design proceeding from the seemingly innocuous question "under what circumstances do we allow (vc-deduce-fileset) to return an empty select set, and what does it mean when we do?". If trying to map out the Right Thing under all the different circumstances this comes up doesn't make your head hurt, you haven't grasped the problem yet. Two is that I would prefer to actively neglect mixed-VCS-in-one-directory usage. I've said this before and listmembers have protested, but I think it's a classic example of allowing the preoccupation of hackers with one complex little edge case to do bad things to the maintainability of the rest of the code. I'm not going to personally try to "fix" this until all the other known bugs and wishlist issues more interesting to normal VC users are resolved. And I'm not going to fix it at all if the complexity overhead of doing so turns out to be too high; I'd rip out all traces of the incomplete mixed-VCS support instead. So, as I said, if you want this solved, you'll probably have to dig in and do it yourself. And work hard at making it small and elegant, because I think this feature has low value and my willingness to accept crufty code in support of it is accordingly minimal. -- Eric S. Raymond