git
I'm now attempting to work more seriously with git. Unfortunately, I have to interact with a CVS server at the same time (for final commits, etc). I still haven't found a really good way of doing this (initially with ideas from a blog entry). git-cvsimport works fine for pulling things down from CVS into the local git repository, but going in the other direction seems to require a separately checked-out tree and some annoying steps. I also tried an alternate approach where it's all in one directory, but that makes the git history much less useful and there's still weird conflicts after committing.
If anyone has a good way of working with a remote CVS server and local git repositories, I'm all ears.