Mercurial was my initial tool of choice, thanks to Dave Leedy's tutorial. But I found that it failed to push up a large database. It turned out it was because of the size. I ended up having to push it in three chunks, which was a huge pain.
I then used Git. The only problem I had was needing to set the HOME environment variable, but this solved the problem http://support.microsoft.com/kb/816313. I've not had a problem pushing up a database with that.