[Zope-dev] Re: [Zope3-dev] Change in repository approach to software sharing

Chris Withers chris at simplistix.co.uk
Thu May 6 04:09:06 EDT 2004


Jim Fulton wrote:

> We'll also have a top-level ZConfig project directory.  The "trunk"
> of the ZConfig Python package will be in ZConfig/trunk/src/ZConfig.
> If we create a tag T1 of ZConfig, then the Python package for that tag
> will be in ZConfig/tags/T1/src/ZConfig.

The /src/ in the above paths seems like a dead chicken to me, why's it there?

> Now, when we set up the Zope 3 repository, we will create the ZConfig
> package in Zope 3 by copying a *tag* from the ZConfig project:
> 
>   svn copy svn+ssh://svn.zope.org/repos/ZConfig/tags/T1/src/ZConfig \
>            svn+ssh://svn.zope.org/repos/Zope3/trunk/src/ZConfig
>            -m 'Bring ZConfig T1 into main branch'

I think you'll find this doesn't work when 
svn+ssh://svn.zope.org/repos/Zope3/trunk/src/ZConfig already exists. It's the 
one thing that's disappointed me about SVN so far :-(
(well, that and not beign able t odo inter-repository operations ;-)

> Later, we may decide to upgrade the Zope 3 head to use ZConfig tag 3.
> At that point, we can recopy from the tag, or we can merge changes
> made between the two tags.

My experience has been that it's best just to have shared software "exist" in 
each location where it's used and maintained in those places with new versions 
being brought across via merges. Merges in SVN have ended up feeling a LOT nicer 
for me that with CVS, but the key is still to keep the number of maintained 
locations of a piece of shared software to an absolute minimum, as Tim points out.

Another option, and one which I'd really strongly suggest here if it could be 
made to work is the "external definitions" stuff:
http://svnbook.red-bean.com/svnbook/ch07s03.html

The svn:externals way of doing things means you only develop the shared software 
it it's own tag/trunk/branches structure and just link to it from where you want 
to use it, which sounds like it might save a few grey hairs on Tim's part since 
there won't be any "local development" in the locations where the shared 
software is used...

cheers,

Chris

-- 
Simplistix - Content Management, Zope & Python Consulting
            - http://www.simplistix.co.uk




More information about the Zope-Dev mailing list