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/