From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: David Engster Newsgroups: gmane.emacs.devel Subject: Re: Merging CEDET Date: Sun, 03 Jun 2012 20:00:53 +0200 Message-ID: <87aa0kp962.fsf@engster.org> References: <87396ecfyr.fsf@gnu.org> <4FCB6B01.8020600@siege-engine.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable X-Trace: dough.gmane.org 1338746469 18759 80.91.229.3 (3 Jun 2012 18:01:09 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Sun, 3 Jun 2012 18:01:09 +0000 (UTC) Cc: "Eric M. Ludlam" , Chong Yidong , =?iso-8859-1?Q?Llu=EDs?= , emacs-devel@gnu.org To: "Eric M. Ludlam" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Jun 03 20:01:05 2012 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1SbF6u-0003da-Dv for ged-emacs-devel@m.gmane.org; Sun, 03 Jun 2012 20:01:04 +0200 Original-Received: from localhost ([::1]:38538 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SbF6u-0004KW-9T for ged-emacs-devel@m.gmane.org; Sun, 03 Jun 2012 14:01:04 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:46352) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SbF6r-0004KE-3v for emacs-devel@gnu.org; Sun, 03 Jun 2012 14:01:02 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SbF6p-0004wJ-0E for emacs-devel@gnu.org; Sun, 03 Jun 2012 14:01:00 -0400 Original-Received: from randomsample.de ([83.169.19.17]:33903) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SbF6o-0004wB-Jj; Sun, 03 Jun 2012 14:00:58 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=randomsample.de; s=a; h=Content-Transfer-Encoding:Content-Type:MIME-Version:Message-ID:Date:References:In-Reply-To:Subject:Cc:To:From; bh=IrYZ8s5fTToytoLlcimf5iSqZcVoArAWTd7uyCsWu/g=; b=pFXmFpt2O912nhoo7+gwDQKH2FNrlzWevZXLk3ZSxxdCsOl3zxl78/mpRiwSFGpPSp770qg7TpX1ka3gaiSYftjNdR5dU7pCvZsea+sCyRuO3C+IIz9EQDVvweeBaOpy; Original-Received: from dslc-082-083-055-236.pools.arcor-ip.net ([82.83.55.236] helo=spaten) by randomsample.de with esmtpsa (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.72) (envelope-from ) id 1SbF6l-000425-FR; Sun, 03 Jun 2012 20:00:56 +0200 In-Reply-To: <4FCB6B01.8020600@siege-engine.com> (Eric M. Ludlam's message of "Sun, 03 Jun 2012 09:47:45 -0400") User-Agent: Gnus/5.110018 (No Gnus v0.18) Emacs/24.1.50 (gnu/linux) Mail-Followup-To: "Eric M. Ludlam" , Chong Yidong , "Eric M. Ludlam" , =?iso-8859-1?Q?Llu=EDs?= , emacs-devel@gnu.org X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 83.169.19.17 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:150759 Archived-At: [Eric forgot to include emacs-devel in CC, which is why I'm quoting his message fully at the end.] Eric M. Ludlam writes: > On 06/02/2012 03:47 AM, Chong Yidong wrote: >> Hello CEDET folks, >> >> Is the CEDET file-rename branch ready? If so, now is a good time to >> start merging into Emacs. > From the perspective of content, the current trunk in CEDET bzr > matches up with CEDET 1.1 closely. To make things clear: I have merged our 'newtrunk' branch (which included the changes in 'file-rename') into our development trunk. This means we are now finally working directly with the new file and directory structure from Emacs, and most changes from Emacs trunk are now incorporated into CEDET. As I've already written some time ago, I've started to write a special package for merging Emacs<->CEDET. The most important goal is to keep the granularity of commits in both repositories. For this to work, we should get our work-flow straight before we start. My idea is the following and I'd like to hear opinions from the VCS gurus around here if this is the right approach: We use three branches: - CEDET trunk (in the following: 'cedet') - Emacs trunk (in the following: 'emacs'). Of course, we do not care for the full Emacs trunk, but only for the CEDET-related files (essentially: lisp/cedet and lisp/emacs-lisp/eieio*). - a special branch inside of CEDET upstream (in the following: 'merge') The 'merge' branch is special in that it follows Emacs *and* CEDET development. It is derived from the old 'file-rename' branch and thus has a common history with 'cedet', so that we can do proper merges from and to 'cedet'. The main concept is this: - 'merge' follows 'emacs' as close as possible. That means: - It must *not* have any files from 'cedet' which should not end up in 'emacs'. Most importantly, this means that *everything* that is in 'merge' must have signed papers. - It follows exactly the Emacs directory structure, meaning that EIEIO is in lisp/emacs-lisp. - Syncing with 'cedet' happens through *merges*. - Syncing with 'emacs' happens through *cherry picking*, which with bzr just boils down to applying patches from "bzr diff -c ". Alternatively, Llu=EDs "bzr transfer" plugin can be used, but I couldn't get it to work. Either way, the special CEDET-Emacs-merge package I've written is used to track which commits have been merged and which not (and for what reason). I could think of two alternatives to this approach: - Drop the special 'merge' branch and directly cherry-pick between the two repositories, hence essentially do what org and Gnus are currently doing. However, I think this can only work well if both repositories are very similar, and CEDET upstream still contains lots of stuff which isn't in Emacs. - Use *two* merge branches 'to-emacs' and 'from-emacs', that means one for each direction and both with a common history with 'cedet'. This was actually the initial idea, but by now I think this approach is just over-complicating things and could easily get pretty messy. -David Eric's full mail: > From a quality perspective it is pretty good in that it passes all > the unit tests and the key interactive tests. I am familiar with a > couple typo type bugs I need to check in from the translation to the > new file format still. I'll do that today. From a copyright > assignment perspective, all is good, though my last employer release > for changes ends on July 3, so I can help out on any big changes for a > month, and get another release soon if needed. > > From the perspective of transplanting changes between our branches, > David has merged many changes from Emacs into CEDET, and Lluis was > working on a script to make it easy to do, so I added him to the CC > list. Since CEDET includes a 'contrib' area that doesn't have > copyright assignments, you will still need to avoid that. We have > dropped explicit support for older Emacs versions so many previous > conflicts have since been removed. The test suites have all been > converted to the new file system, so Emacs can use that if you'd like > to enable the complete suite in Emacs core also. > > All-in-all I think you will be in good shape unless David or Lluis is > familiar with something I am not. We may need to do a second merge > later, since our conversion to the new file name format is still quite > fresh. > > Thanks! > Eric