At the moment I am investigating how to introduce a DVCS (in particular I am looking at Hg and Git) while retaining the CVS repository in parallel (or even just the access m
While git offers a CVS server, this server is very limited. You can't create tags or branches, and the git branches appears as CVS modules. Also you can't convert your CVS repo into git in such a way that the file revision numbers are equal afterwards (git cvsserver creates an own database of file revisions for each git branch at the time when they are needed).
OTOH you can use git as a cvs frontend. The workflow is that you use git cvsimport
to pull the history from the CVS server, and use git cvsexportcommit
to export some git commits into a local CVS checkout. There is an article in Tsuna's blog with more details about this.
Another way to tackle this problem is to analyze why your coworkers don't want to switch. Here it was that they simply did not know/care about new ways of VCS, and where into a we-always-did-it-this-way habit. Having used mercurial in one pilot project was the key to convince the other team members here.