If you use a CVS version of Emacs (maybe even the recently-released one, I don't remember when Eric Raymond submitted it), Emacs now plays nice with all the newest VCs as well (well I get errors with git but, it's probably me. It's /supposed/ to work. I'm sure the others do).