cvs2svn/cvs2git is a tool that can be used to migrate CVS repositories to newer version control tools, including git. git is a distributed version control system most famous for being used for Linux kernel development. The program used to convert to git, called cvs2git, is distributed as part of the cvs2svn project.
via cvs2svn: cvs2git Documentation.
cvs2git is a far better choice in respect of git-cvsimport…
cvsimport can have trouble with vendor branches so it is important to very carefully check your newly imported repository.
Several years ago I had the need of keep in sync three computers. After some questions on a java mailing list, a very smart guy suggested me Unison.
Unison is a file-synchronization tool for Unix and Windows. It allows two replicas of a collection of files and directories to be stored on different hosts (or different disks on the same host), modified separately, and then brought up to date by propagating the changes in each replica to the other.
Unison shares a number of features with tools such as configuration management packages (CVS, PRCS, Subversion, BitKeeper, etc.), distributed filesystems (Coda, etc.), uni-directional mirroring utilities (rsync, etc.), and other synchronizers (Intellisync, Reconcile, etc). However, there are several points where it differs:[…]
read the rest on Unison File Synchronizer.
Unison seems a bit lost in cyberspace (no new features) but the users mailing list spot some activity, so I will suggest to give it a try, because its sync alghoritm is very well written, and the MS-Window interface is good.