I have taken a look at both git and mercurial. I even went as far as creating several git repositories for syncing stuff across three computers and testing how it would work. It went quite well, considering there was a huge amount of data involved (for example, my music repository, which consists in lots of folders with lots of WAV samples and some more folders with my songs, in both the source formats (IT, XM, S3M, RNS and even XRNS) and the renders (MP3 or OGG, depending on how I felt that particular day).
But I'm still not completely keen on using them, because there are two things that can be done only with subversion: checking out only a folder, out from the complete hierarchy. And externals.
Although technically one could check out only a folder with git (or that's what I could deduct from what I read), it is still kind of awkward/buggy and very far from being as intuitive as it is with subversion. When I looked for info in mercurial docs, it directly said it wasn't possible.
Now it seems google code is offering project owners the possibility of switching from subversion to mercurial, but I am going to keep using subversion there too. I don't think anyone is going to want to branch any of my
supersnippets but you never know ;) -- I moved the project to github! You can now branch it if you want :D
You may argue that I could do with lots of mini git repositories for each folder I might possibly want to check out, but knowing myself as I do, that's just calling for a disaster to happen. I would probably forget to clone/update the most important repository before going offline, you know, that kind of things. It works better for me to keep a single repository with a nice hierarchy of miniprojects that I might occasionally extract or use as externals in other projects.
Just give me those two features and I will be completely convinced to switch to a DVCS (i.e. Distributed Version Control System) :-)