http://www.selenic.com/mercurial/wiki/index.cgi/ForestExtens...
Not sure why there are no docs in the hgforest repository though - that seems like a pretty big oversight.
1. source code
2. toolchain. there are good reasons for it - we had enromous problems with people using outdated toolchains and fighting with obscure compiler bugs. also just installing new toolchain for everyone will not work - it may have new bugs which are only triggered by old code. bottom line is that toolchain must be in sync with the source and it was a painful lesson. I must add that we have dozens if not hundreds of branches.
3. tests. tests must be in sync with the code, and are branched/merged together. a lot of tests.
4. test results. must be in sync with tests and branched/merged together.
So there you have it.
Other people I know who also have large repsitories are art studios who want to version their artwork - they store raw images.
I'm not entirely satisfied with this approach, since it means a brand new developer has to figure out how to pull all the submodules down when setting up his dev environment.
That being said, I've really been enjoying working with Mercurial. I think the biggest shortcoming I feel is not being able to branch (easily?) subdirectories rather than repositories.
There's been very little progress on these issues as well - both communities seem to be content with relatively small repositories. Sad.