When using distributed versioning systems like GIT or Mercury, the size of a repository matters.
For users who only know GIT/Mercurial this might be obvious.
But if you previously used a server based VCS (like Subversion etc.) then this might be interesting to know.
When you use GIT or Mercury to replicate changes, you always send then whole repository file, and this repository file contains all versions/branches etc. So the repository file is quickli becoming large.
When using subversion, the server part handles all the merges/versioning etc.
The client receives/sends only small deltas to/from the server.
So for GIT and Mercurial, make a repository for each subproject and for each "focus"
You can read the full article at dzone