RFC: Moving CEDET development to Emacs

David Engster <[email protected]> Tue, 20 Oct 2015 21:21:41 +0200
Newsgroups gmane.emacs.cedet
Message-ID <[email protected]>
Hi Eric and all,

tl;dr: I propose we move CEDET development to the Emacs repository.

The long story:

Emacs switched to Git some time ago, and so did we. This broke my
Bazaar-based setup for merging the CEDET SourceForge-Repository with
Emacs. I tried to re-create that setup with Git, but I gave up. Not
because it is too difficult, but because I realized that I really,
really do not want to keep doing these merges.

While I pretty much automated everything that could be automated (see
cedet-emacs-merge.el), these merges still involve a *lot* of grunt work,
including fixing commit message so that Changelogs adhere to Emacs
standards, fixing merge conflicts, and fixing compatibility problems
with newer Emacsen. All of this stuff is complicated because CEDET files
are scattered across the Emacs repository, and a lot of stuff that is
upstream is not in Emacs core.

Also, EIEIO was partly rewritten in Emacs 25. Fixing CEDET in a way that
works both with Emacs 24.x and 25 and not drowning in hundreds of
byte-compiler warnings will be another big hassle, so I'd rather
completely switch to the new EIEIO.

So here's my proposal:

  - We move CEDET development to Emacs proper, maybe on its own branch
    (might be necessary for times where Eric does not have a copyright
    lease from his employer).

  - We split off the stuff that is not part of Emacs, but for which
    papers were signed, into one or several ELPA package(s). When some
    of them are considered mature enough, we would merge them to Emacs
    proper.

This also means that:

  - We do not provide a "separate CEDET" anymore.

  - We only target the current Emacs development version.

  - The stuff in 'contrib', for which we don't have papers, has to
    stay somehwere else, like Sourceforge or GitHub.

  - We will loose a lot of commit history (it will be only available in
    the old repo).

I'm not proposing this lightly. Dropping support for older Emacsen is a
pity, since we will loose a lot of testers. I considered several
alternatives, but I really think it is time we make this step.

On the bright side, I think that moving development to Emacs and
dropping 24.x compatibility will give us new freedom to react
quicker. If you follow emacs-devel, you know that there's a lot of
discussion w.r.t. to new APIs for IDE-like features. I really want CEDET
to be a part of that, and I think this will be easier if we work
directly in Emacs.

-David

------------------------------------------------------------------------------