[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[equinox-dev] working in incubators

Was:  New equinox framework adaptor

This question has come up before and I'm sure we had a page that talked about it but for the life of me I can't find it now.  Perhaps it got lost in the transition.  In any event, we'll put together a new one to reflect current realities.  Here is an outline.

- the current repo structure gives incubator committers access to the "equinox-incubator" folder in the dev.eclipse.org/cvsroot/eclipse repository.  We'll call that the "incubator repo" even though it is not really a repo on its own (see http://dev.eclipse.org/viewcvs/index.cgi/equinox-incubator/)

-  in the incubator repo we currently have a large number of plugin projects.  In general the HEAD stream of these projects contain copies of code from the main Eclipse repo and the content for each work area is in branches off of these.

- this is a convenient structure because it allows/encourages the work areas to stay in sync with the main code base.  Remember, the Equinox incubator is for investigating *changes* to the main Equinox/Eclipse code base.  As such, the work is destined to be merged at some point.  By working in branches off HEAD we just need to periodically (e.g., every Milestone) update the code in head of the various projects.  Then the folks in each branch and merge from HEAD into their branch and keep up to date.

- An alternative to this approach is to have each incubator keep a copy of the projects they are affecting.  This is in some ways simpler (makes it easier ot archive when the work is done) but increases the burden of keeping up with the main code and basically means that people will not do it.

- For new bundles developed in an incubator, we could have separate workarea dirs and put the projects in there.  I am tempted to say that there will be relatively few of these and so we should just put them in the main incubator repo.  This is simple, flat, ...  Work in these can go on in HEAD or in a branch off of an initially empty HEAD project.

- in an effort to help newbies understand where things are, each work area should document what projects are relevant and what branch it is using.  See the aspects work area for an example of what I mean (http://eclipse.org/equinox/incubator/aspects)

I'll write this up in a more consumable way and post for comment.  Please give feedback here.

Thomas Watson <tjwatson@xxxxxxxxxx>
Sent by: equinox-dev-bounces@xxxxxxxxxxx

10/24/2005 09:56 AM

Please respond to
Equinox development mailing list

Equinox development mailing list <equinox-dev@xxxxxxxxxxx>
Re: [equinox-dev] New equinox framework adaptor

> Ah, now I understand this in more detail. Thanks a lot for your
> explanation and sorry for still being somewhat unoriented regarding the
> code repository structures. Still a newbie in this area...
> But that brings up another question (from the newbie ;-): I understand
> that there might be code differences between the incubator area and the
> HEAD. But is there any policy who/when/how to migrate changes from HEAD
> back into the incubator area?
> Thanks for the help!!!
> -Martin

No problem, I'm sure others on this list have the same questions.  In the

past when the incubator is active we have tried to update (or merge) the
code from HEAD into the incubator after each Milestone is released
from eclipse proper.

Sometimes this can be a time consuming task if there are many components.

In the past each incubator usually had a small set of bundles that they
were modifying.  For example, investigating improvements to the OSGi
Framework only involves the org.eclipse.osgi project.

As more incubators get started I'm not sure what the best approach is to
merge the latest code back to the incubator.  I hope each incubator can
have a "lead" which can be responsible for merging the latest code into
their corresponding incubator projects.  I think the contributors of each

incubator will have to be responsible for this merge because they are the

only ones that know what changes they have made and how best to merge any

new code from HEAD into their incubators.


equinox-dev mailing list