I recently started using darcs for something like this. Instead of a single huge repository, though, I maintain multiple ones to taste. This design decision is based on darcs/tla being organized by changeset rather than file-revision. It just seems ugly to clutter up individual patches with a bunch of unrelated stuff.
While I think the decision was forced by my choice of vc software, there are tradeoffs to be considered if I were to be freed from this constraint.
Also, while off-the-shelf vc software does pretty well, there are some issues to consider. The big one I think about is archival. One's home directory repo will tend to grow linearly over time. Is there some way one can archive old snapshots on a reliable medium and then remove them from the repo?