I’ve started implementing a basic Mercurial source control provider, by basic I mean the idea is it will allow the diffing/adding/committing of assets, but things like pushing/pulling/branching etc. will be left to your Mercurial client of choice. Much the same could be done for Git. While storing large binary files in Mercurial/Git is liable to bloat the repository (unless you use an extension) it’s probably not a huge problem for small projects. For larger projects I think you could store code and blueprints in hg/git, and art assets in some more suitable location.