I am struggeling with a proper repository layout to manage multiple projects
that depend on each other. This is not entirely SVN specific, but the
available options clearly depend on the features that SVN provides.
Let's say we have a library project libA (I will use java as an example, but
this should apply for basically most programming environments). libA might
depend on a number of 3rd party jars that should be in svn along with the
source for libA itself.
Let's say we have another library project libB. libB uses libA and therefore
should somehow link to the libA repository.
Finally we have productA, which uses libB and libA directly.
My first attempt has been to have libA organized as
lib/trunk/src (containing all source code)
libA/trunk/lib (containin all 3rd party jars)
and have libB organized as
lib/B/trunk/src (containing all source for libB)
libB/trunk/lib (containing all 3rd party jars that only libB uses)
libB/trunk/lib/libA (svn:external pointing to libA/trunk)
However, when I continue to follow this structure, projectA ends up as
projectA/trunk/src (containing all source for project)
projectA/trunk/lib (containing all 3rd pary jars that only this prj uses)
projectA/trunk/lib/libB (svn:external pointing to libB/trunk)
projectA/trunk/lib/libA (svn:external pointing to libA/trunk)
When checked out, this results in libA being downloaded twice - not a very
smart idea. If I omit the second svn:external, then libA is only available
as lib/libB/lib/libA. I like neither result.
SVN is apparently a very nice tool for version control and lots of best
practice hints are given (along with the famous trunk/tags/branches
approach). However, little to no guidance is provided as to how to manage
What would be the best practices here?
Any suggestions or pointers to articles/websites would be appreciated.
Die neue MSN Suche Toolbar mit Windows-Desktopsuche. Suchen Sie gleichzeitig
im Web, Ihren E-Mails und auf Ihrem PC! Jetzt neu! http://desktop.msn.de/
Jetzt gratis downloaden!
To unsubscribe, e-mail: email@example.com
For additional commands, e-mail: firstname.lastname@example.org
Received on Tue Mar 27 14:34:18 2007