I like the Google model of one trunk to rule them all…. until I have to fork the code in order to make a small adjustment for a time app or script. Then I hate waiting 45 minutes for the entire system to checkout. I’m further frustrated by the amount of storage it takes for one of these all-in-one mega-checkouts. Google’s answer to the size of the repo is to create a very special filesystem that does pre-checkout staging with symlinks and a bunch of proprietary preprocessing. Who can afford that?On the other hand when you create multiple sub projects with dependencies and so on… then your maintenance costs go up as you try to maintain, backup and manage some sort of real DR plan. The alike of Fossil-SCM fills that gap nicely but then it still feels manually intensive.What happens when your business is somewhere in between?