
on Tue Apr 03 2012, Beman Dawes <bdawes-AT-acm.org> wrote:
As far as I can see, scaling Boost up to a much larger number of libraries implies decentralization and decoupling, probably in the form of per-library modules or something similar.
Quite so.
Modularization seems to have been missed in the discussions of Subversion, Git, and Mercurial. Do distributed version control systems in general and Git in particular have any important advantages/disadvantages over svn for highly modularized projects?
Aside from the fact that boost is already modularized in Git, you mean? ;-) http://github.com/boost-lib
Please, let's not waste everyone's time with a rehash of general DCVS vs CCVS pros and cons. We have beat that to death. Let's focus this thread on modularization support, particularly as it applies to Boost.
Well, let's see... I guess *if* you want to treat modules as sub-modules, Git is a bit more flexible than SVN in that you have both submodules (roughly like svn externals) and git-subtree (in the next release of Git, or a separate add-on until then), so you can choose your poison. However, I don't think we're (mostly) going to be using either of those technologies. Instead, I believe we'll be using 0install to manage the interactions of related library versions, which will render most such questions moot. A library developer will (mostly) be working with only one repository at a time, and the dependency management system in 0install will take care of acquiring the others. -- Dave Abrahams BoostPro Computing http://www.boostpro.com