[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