
On Mon, Apr 02, 2007 at 01:07:36PM -0400, Doug Gregor <dgregor@cs.indiana.edu> wrote:
On Apr 2, 2007, at 12:22 PM, Stefan Seefeld wrote:
Doug Gregor wrote:
Yes, it probably would be advantageous to have a single-entry-point layout, but we haven't found a good way to do it. svn:externals was one potential approach, but they aren't quite powerful enough to do what we need.
svn:externals would be useful to make sandbox projects appear as full boost versions (plus the new bits) to the user.
Except that you can only use svn:externals for *directories*, not for individual files. So, for example, while I could use svn:externals to bring in directories like "boost/mpi" and "libs/mpi", I could not use them to bring in "boost/mpi/mpi.hpp". I've looked into svn:externals; either I missed something big, or they just aren't sufficient to do what we want.
This and because one could not have versioned links that point onto a specific version. I think in the boost-sandbox case this isnt that much of an issue, but for our needs that was too limiting. Because of that we were looking at http://venge.net/monotone There branches are simply a kind of membership and not a copied directory. Due to its distributed nature, it allows users to work on their own sandbox branch, and share that with other users or the whole community. So if someone wants to start working on a new library for boost, the developer simply get a current working copy and start adding the code. When ready for the first commit he simply uses a differen branch name. When done the developer can sync with the main server of boost and provide the branch name to other boost developers. If the library is submitted and accepted to boost, the integrator simply has to annotate the versions the developer provided, with the official boost branch certificate. Here are some nice aspects of monotone: http://venge.net/mtn-wiki/BranchAnalogy http://venge.net/mtn-wiki/DaggyFixes http://venge.net/mtn-wiki/UsingCerts I am sorry for throwing that into the discussion, after you already picked subversion. Regards Andreas Pokorny