The goal is to maintain the history of the CVS repo during the conversion.

  1. On the CVS server:
    1. wget ""
    2. cd cvs2svn-2.4.0
    3. edit cvs2svn-example.options to match your needs. E.g.:
      1.  line ~377 cx.username
      2. line ~563 change it to the path for your CVS repository, e.g. /app/cvsrepo/cvs/someDirectory/myProject. The top of the path must contain the CVSROOT (e.g., at /app/cvsrepo)
    4. python cvs2git   --options=cvs2git-example.options --fallback-encoding utf-8
  2. On a server that has git installed:
    1. copy the git-blob,dat and git-dump.dat files created in step #1 locally to /tmp
    2. mkdir myProject
    3. cd myProject
    4. git init
    5. cat /tmp/git-{blob,dump}.dat | git fast-import
    6. git log (check that there is history of commits)
    7. git reset —hard
    8. create repo on GitHub (e.g.,
    9. git remote add origin
    10. git push -u origin master

Other Resources

  • No labels