Re: SVN reorg

Maât <[email protected]> Mon, 01 Sep 2008 13:11:48 +0200
Newsgroups gmane.comp.web.phpgroupware.devel
Message-ID <[email protected]>
Sigurd Nes a écrit :
> Maât wrote:
>> Hi,
>>
>> We spoke earlier about svn reorganization so that we can have a 
>> working phpgroupware with a single checkout and trunk/tags/branches 
>> for each module.
>>
>> Can we consider doing this reorganization before .18 branching ?
>>
>> (I think that would also make branching and release easier.)
>>
>> regards,
>> Maât
>
> It is fine by me.
>
> Maybe we should try to summarize previous discussions on the subject 
> into a final scheme/layout before actually doing the change?
>
> Regards
>
> Sigurd
>
Of course.


the idea is :

1) to have a trunk/tag/branches tree for each application/module of 
phpgroupware

2) to have a trunk/tags/branches tree for phpgroupware and to use 
svn:externals on it so that a single checkout on 
url://of/phpgroupware/trunk retrives automatically the dependancies ( 
setup, phpgwapi, home, admin...)

If one wants to add a specific (not retrieved by default) module he'll 
just have to edit svn:externals and make a svn update

for branching and releases the source control manager will just have to 
edit svn:externals in branch so that it targets modules tags instead of 
branches or trunk then procceed to tag creation then change back to 
target again branches for those who would like to betatest bleeding edge 
for the given branch.

for phpgroupware trunk svn:externals would of course target trunks of 
modules

phpgroupware dir would appear at the top of svn repository so that svn 
checkout url is easy for everybody

modules and components would appear as subdirs of a top level dir called 
for example "modules" or "applications" or "components" their specific 
url would only be used by people managing modules versions and branches 
and sometimes by modules coders

the result : for people wanting to use or test phpgw from svn :

for a release :
svn co http://svn.savannah.gnu.org/svn/phpgroupware/tags/release_0.18.001

for a branch :
svn co http://svn.savannah.gnu.org/svn/phpgroupware/branches/branch_0.18

for the trunk :
svn co http://svn.savannah.gnu.org/svn/phpgroupware/trunk

for people working on phpgw :

for a branch :
svn co svn://svn.savannah.gnu.org/svn/phpgroupware/branches/branch_0.18

for the trunk :
svn co svn://svn.savannah.gnu.org/svn/phpgroupware/trunk

regards,
Maât


Nota : we could also imagine "flavored" branches with differents sets of 
modules declared ( to match the main users profiles... project 
management, facility management, community communication....)