On Sun, Nov 16, 2008 at 1:39 PM, Raymond Feng <[EMAIL PROTECTED]> wrote: > Hi, > > Thank you for the assessment. What about we do the following? > > 1. Start with an empty trunk.
+1 > 2. Try a best-effort merge to pull the delta from 1.x branch into > sca-equinox branch (potentially leave some hard-to-merge changes to the > bringup phase) I' m not sure exactly how to handle this as a community effort, maybe the best way would be for each individual that have changes in trunk to verify what needs to be merged and help with that portion ? Well, just a thought... > 3. Copy the sca-equinox branch into the new trunk and move modules into > "java/sca/contrib" I don' t know exactly what' s the benefit of a contrib folder, but I' m ok with this. Note that, we should have all modules loaded in eclipse when doing clean up/refactoring to allow the IDE tools to help with refactoring the dependencies. > 4. Move the core set of module into "java/sca/modules" and clean them up > thoroughly (we already have a list of actions) > 5. Incrementally bring up other modules from contrib into "java/sca/modules" > Overall, sounds like a good strategy... Does anybody have any objections ? What should be our next step ? > Thanks, > Raymond > -------------------------------------------------- > From: "Luciano Resende" <[EMAIL PROTECTED]> > Sent: Friday, November 14, 2008 9:56 PM > To: <dev@tuscany.apache.org>; <[EMAIL PROTECTED]> > Subject: Re: [PROPOSAL] A staged approach to create the OASIS development > stream in trunk > >> On Thu, Nov 13, 2008 at 9:38 AM, ant elder <[EMAIL PROTECTED]> wrote: >>> >>> >>> On Thu, Nov 13, 2008 at 5:18 PM, Simon Laws <[EMAIL PROTECTED]> >>> wrote: >>>> >>>> >>>> On Thu, Nov 13, 2008 at 4:30 PM, haleh mahbod <[EMAIL PROTECTED]> wrote: >>>>> >>>>> As I watch the different threads it is clear that there is a common >>>>> goal >>>>> of encouraging everyone to be involved in creating the base line for >>>>> OASIS >>>>> code base and there is also a desire to create a working baseline in a >>>>> timely manner. >>>>> >>>>> Here is an idea that came to my mind that might help. >>>>> 1. Whoever worked on Equinox branch writes down the principles used to >>>>> OSGI enable 1.x in Equinox branch. This becomes the guide. >>>>> 2. Define a subset of the modules as the goal of what will first be >>>>> brought to the trunk. >>>>> 3. Of that subset define a few modules that everyone can focus on at a >>>>> time. For example let's bring in module x, y, z into the trunk in the >>>>> next >>>>> day. This enables everyone to be focused on the same thing and the work >>>>> becomes a group effort. >>>>> 4. Everyone who is interested to get involved will do a diff of the >>>>> selected equinox modules against the latest 1.x. Review the code while >>>>> also >>>>> remembering the principles that were used to make the changes. >>>>> 5. Post questions if any >>>>> 6. Move on to the next set if there are no major concerns. >>>>> >>>>> This will definitely give people who are interested to be involved a >>>>> chance to participate, learn and ask questions. With everyone involved >>>>> in >>>>> this important base line work, OASIS base line will come to life >>>>> faster. >>>>> >>>>> Haleh >>>>> ...snip >>>> >>>> Re. point 2 running the dependency lister on samples/calculator in trunk >>>> gives. >>>> >>>> tuscany-assembly-1.4-SNAPSHOT.jar >>>> tuscany-assembly-xml-1.4-SNAPSHOT.jar >>>> tuscany-assembly-xsd-1.4-SNAPSHOT.jar >>>> tuscany-binding-sca-1.4-SNAPSHOT.jar >>>> tuscany-binding-sca-xml-1.4-SNAPSHOT.jar >>>> tuscany-contribution-1.4-SNAPSHOT.jar >>>> tuscany-contribution-impl-1.4-SNAPSHOT.jar >>>> tuscany-contribution-java-1.4-SNAPSHOT.jar >>>> tuscany-contribution-namespace-1.4-SNAPSHOT.jar >>>> tuscany-contribution-xml-1.4-SNAPSHOT.jar >>>> tuscany-core-1.4-SNAPSHOT.jar >>>> tuscany-core-databinding-1.4-SNAPSHOT.jar >>>> tuscany-core-spi-1.4-SNAPSHOT.jar >>>> tuscany-databinding-1.4-SNAPSHOT.jar >>>> tuscany-databinding-jaxb-1.4-SNAPSHOT.jar >>>> tuscany-definitions-1.4-SNAPSHOT.jar >>>> tuscany-definitions-xml-1.4-SNAPSHOT.jar >>>> tuscany-endpoint-1.4-SNAPSHOT.jar >>>> tuscany-extensibility-1.4-SNAPSHOT.jar >>>> tuscany-implementation-java-1.4-SNAPSHOT.jar >>>> tuscany-implementation-java-runtime-1.4-SNAPSHOT.jar >>>> tuscany-implementation-java-xml-1.4-SNAPSHOT.jar >>>> tuscany-implementation-node-1.4-SNAPSHOT.jar >>>> tuscany-interface-1.4-SNAPSHOT.jar >>>> tuscany-interface-java-1.4-SNAPSHOT.jar >>>> tuscany-interface-java-jaxws-1.4-SNAPSHOT.jar >>>> tuscany-interface-java-xml-1.4-SNAPSHOT.jar >>>> tuscany-monitor-1.4-SNAPSHOT.jar >>>> tuscany-node-api-1.4-SNAPSHOT.jar >>>> tuscany-node-impl-1.4-SNAPSHOT.jar >>>> tuscany-policy-1.4-SNAPSHOT.jar >>>> tuscany-policy-xml-1.4-SNAPSHOT.jar >>>> tuscany-sca-api-1.4-SNAPSHOT.jar >>>> tuscany-xsd-1.4-SNAPSHOT.jar >>>> >>>> I expect the list from the equinox branch might be slightly different >>>> but >>>> it shows the scale of things. It's not a very long list. If we get the >>>> overall principles documented as they stand at the moment the we can >>>> review >>>> the individual modules. I realize this sounds like a compromise between >>>> Raymond's and Ant's suggestions but I think we will have to take it >>>> module >>>> by module. There are probably some less controversial ones that we can >>>> put >>>> in place to start with, sca-api (even this though there were the license >>>> changes in trunk that we need to make sure we get)? However I was just >>>> diffing assembly, which I thought would be straightforward, but noticed >>>> that >>>> it has the builder pluggability changes in there in the branch. I think >>>> we >>>> want them but we need to understand them. >>>> >>>> So against each of these I think it warrents a summary of the changes >>>> (given this restricted list I hope someone familiar with the branch can >>>> just >>>> do this off the top of their heads). >>> >>> +1, i don't think its enough to say we can just look at an svn diff as >>> there >>> are so many changes, even a diff on just a single random module - >>> assembly-xml - gives a 180K diff file which runs at 64 full screens of >>> text >>> to work out. >>> >>> >>>> >>>> We may actually find it easier to go from trunk in terms of unpicking >>>> all >>>> this but I hold an open mind. >>>> >>> >>> I'm leaning to that as well, with diffs showing so many changes mixed >>> together or would be easier to understand descrete changes merged into >>> the >>> existing trunk - eg each module needs the correct manifest this merge >>> shows >>> one, now lets do the same for each other module etc. >>> >>> ...ant >>> >>> >> >> >> I did some research around the delta between trunk and the equinox >> branch, and also possible ways to merge, below are my findings : >> >> >> Equinox/Trunk developer streams >> >> >> /---------------------------> 345 commits to equinox branch >> / >> / SVN Revision #694816 - Sep 12 - Equinox branch created >> / >> --------------------------------------> 203 committs to trunk >> >> >> The detailed list of changes that went in equinox branch is available at : >> >> >> http://people.apache.org/~lresende/tuscany/sca-equinox/sca-equinox-changes.txt >> >> Trying to execute a merge from trunk to the equinox branch : >> Conflicted:86 Skipped:227 Added:654 Deleted:11 Updated:370 >> >> The merge details are on the link below >> >> >> http://people.apache.org/~lresende/tuscany/sca-equinox/sca-equinox-merging-from-trunk.txt >> >> Trying to execute a merge from equinox branch to trunk >> Conflicted:159 Skipped:264 Added:570 Deleted:26 Updated:314 >> >> The merge details are on the link below >> >> http://people.apache.org/~lresende/tuscany/sca-equinox/sca-trunk-partially-merging-from-equinox.txt >> >> >> My recommendation would be to start with a clean trunk, move >> sca-equinox/modules/ to the new trunk and then define a subset of >> modules to work on. Having all the modules available would allow us to >> take advantage of IDE tools, and have code refactoring being applied >> to dependent modules easily. Also, any issues in the affected modules >> can be handle when we still have the changes fresh in our heads :) >> >> As for merging, from the exercise described above, starting from the >> equinox branch code makes a less painful merge, but I don't think >> there is any way that we can come up with an easy and simple way to >> execute the merge, and the less painful option that comes to mind is >> to evaluate changes done in a given module when working on it, and >> identify witch changes need to be applied to the current code in the >> new trunk, and then either merge or port the changes. I also have a >> feeling that it's probably not a good idea to try batch-merge of a >> large range of revisions, as this might be timing consuming, bring >> unnecessary changes or changes that need to be refactored to be a good >> citizen in a modular OSGi environment. >> >> >> Thoughts ? >> >> -- >> Luciano Resende >> Apache Tuscany, Apache PhotArk >> http://people.apache.org/~lresende >> http://lresende.blogspot.com/ > > -- Luciano Resende Apache Tuscany, Apache PhotArk http://people.apache.org/~lresende http://lresende.blogspot.com/