Peter A. Bigot wrote:
Ack. FWIW, that's not how I see submodule-based git projects in the general case. If most Boost modules are independent (are they?),
No. I'd say that the probability for two randomly selected submodules to be independent is not above 50% (although I haven't actually done the math). Boost libraries tend to depend heavily on other Boost libraries.
this process appears to introduce unnecessary coupling,
I don't see why. If the libraries were indeed independent, testing them together would not couple them to one another.
rather like testing a bunch of unrelated feature branches together instead of validating and merging them one at a time as their individual developers feel they're ready.
The suggested arrangement is partly shaped by what we had before - it's a gradual transition. And what we had was that testers checked out an SVN branch and ran the tests on that. (All of Boost was in one SVN repository.) So now, under the new arrangement, the testers would just check out the "latest" branch of the superproject - which would check out the "develop" branches of the submodules - and this'd be exactly equivalent to the old "trunk" test run. I agree that if you start from scratch, you might be able to come up with something better. But I'm not sure that it will be that different. You have to test the "develop" branch of a submodule; submodules generally depend on the rest of Boost; hence, you need to check out the rest of Boost somehow to create the environment in which to test the submodule. So the two obvious options are either to test submodule:develop against world:master, or to test submodule:develop against world:develop. The latter has the advantages that (a) it is what we've done for years and (b) it's easy to achieve without changes to the test scripts, by using a "latest" branch.