So when you say "Things that you want to build together should also be in one SCM repository", do you mean that if let's say I have branch that is a subset of plugins that are in trunk, there should really be a branch that reflects the whole structure of the trunk and you work on changes from that location (branch)? After that you merge the things that were changed in branch into trunk? If so, then that's fine, but I found myself in situations where branch is being worked on for a long time and it deviates from trunk and when it's time to merge back there is a lot of (potentially) code to cover. Unless you do daily check between state of branch and trunk.
If multiple developers work on their branches they have to make sure their plugins are always up to date with trunk. The reason I wrote this script is so that I can create a hybrid workspace in CIS and build off that, this way developers don't care about state of trunk and their branch because once the created workspace is build it will build off components from branch and trunk.
This is one of the features that was really useful in Buckminster and I wanted to bring it into my Maven/Tycho builds, or any builds for that matter.