From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: =?utf-8?Q?Llu=C3=ADs?= Newsgroups: gmane.emacs.devel Subject: Re: State of the CEDET merge Date: Wed, 16 Mar 2011 15:03:41 +0100 Message-ID: <87y64fqi0y.fsf@ginnungagap.bsc.es> References: <877hc7lzcc.fsf@fencepost.gnu.org> <8762rq7w7h.fsf@stupidchicken.com> <871v2en9n1.fsf@fencepost.gnu.org> <871v2eyece.fsf_-_@engster.org> <87r5ad91dm.fsf@ginnungagap.bsc.es> <87zkp1solk.fsf@fencepost.gnu.org> <87wrk54pzp.fsf@ginnungagap.bsc.es> <87tyf7aw9b.fsf@engster.org> <87oc5dv511.fsf@ginnungagap.bsc.es> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: dough.gmane.org 1300284254 6366 80.91.229.12 (16 Mar 2011 14:04:14 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Wed, 16 Mar 2011 14:04:14 +0000 (UTC) Cc: emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Mar 16 15:04:10 2011 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.69) (envelope-from ) id 1PzrKb-0005Be-Bz for ged-emacs-devel@m.gmane.org; Wed, 16 Mar 2011 15:04:09 +0100 Original-Received: from localhost ([127.0.0.1]:57602 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PzrKa-0001as-Fm for ged-emacs-devel@m.gmane.org; Wed, 16 Mar 2011 10:04:08 -0400 Original-Received: from [140.186.70.92] (port=36253 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PzrKU-0001Nh-3X for emacs-devel@gnu.org; Wed, 16 Mar 2011 10:04:03 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PzrKT-0000m3-0z for emacs-devel@gnu.org; Wed, 16 Mar 2011 10:04:02 -0400 Original-Received: from mailout-de.gmx.net ([213.165.64.23]:58194) by eggs.gnu.org with smtp (Exim 4.71) (envelope-from ) id 1PzrKS-0000lT-MO for emacs-devel@gnu.org; Wed, 16 Mar 2011 10:04:00 -0400 Original-Received: (qmail invoked by alias); 16 Mar 2011 14:03:55 -0000 Original-Received: from unknown (EHLO localhost) [84.88.53.92] by mail.gmx.net (mp007) with SMTP; 16 Mar 2011 15:03:55 +0100 X-Authenticated: #12333383 X-Provags-ID: V01U2FsdGVkX18Ydmol5k8Y3tGji0YrNkTPGC2uEvhtxq2f9+tsBk 2OUXXuIyH4XmJO In-Reply-To: (Stefan Monnier's message of "Mon, 14 Mar 2011 21:33:27 -0400") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux) X-Y-GMX-Trusted: 0 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 213.165.64.23 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:137283 Archived-At: Stefan Monnier writes: >> * freeze cedet-related changes in the emacs repository > FWIW, strictly speaking, this is not an option. > E.g. I had to make changes to CEDET in the lexbind branch for it to > compile without errors. Ok. What I meant is that changes should not be introduced *directly* into the emacs repositories. Instead, the emacs community should have a branch of the cedet repository for each emacs branch. Then, emacs devs commit into these emacs-controlled cedet branches, which can be merged back and forth with any other cedet branch. In order to make changes in the emacs-controlled cedet branches visible to emacs releases, the changes must be imported somehow into the emacs repository. How? I have to read how the gnus people do it, because thinking about it for a while raised a lot of non-trivial corner cases. My question then is whether emacs is predisposed to ship a repository that is not complete, which to me seems like the most robust and easy way. What I mean is that instead of emacs shipping the cedet files in its repo tree, it can contain symlinks all pointing to a directory containing a cedet checkout (from one of the emacs-controlled branches). Like this: emacs |- cedet-repo |- lisp/cedet -> ../cedet-repo/lisp/cedet ... Now the question is how do you check out a copy of emacs together with the corresponding cedet branch. 1) You can use this plugin: https://launchpad.net/bzr-externals The con is that it's not shipped in vanilla bazaar, but I don't know how much is to ask users to have it installed prior to checking out an emacs branch. 2) Let the build scripts / Makefiles perform the checkout of the cedet branch for you. This would work without any external tools, and in fact can be put together with the use of the bzr-externals plugin, as a backup plan. Of course, tarballs should be shipped with the contents of both, so that they are complete. Thoughts? Lluis -- "And it's much the same thing with knowledge, for whenever you learn something new, the whole world becomes that much richer." -- The Princess of Pure Reason, as told by Norton Juster in The Phantom Tollbooth