Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

CVS to Subversion/git/Bazaar/Mercurial repository converter

Project Description

cvs2svn is a tool for migrating a CVS repository to Subversion, git, Bazaar, or Mercurial. The main design goals are robustness and 100% data preservation. cvs2svn can convert just about any CVS repository we’ve ever seen, including gcc, Mozilla, FreeBSD, KDE, GNOME…

cvs2svn infers what happened in the history of your CVS repository and replicates that history as accurately as possible in the target SCM. All revisions, branches, tags, log messages, author names, and commit dates are converted. cvs2svn deduces what CVS modifications were made at the same time, and outputs these modifications grouped together as changesets in the target SCM. cvs2svn also deals with many CVS quirks and is highly configurable. See the comprehensive feature list.

Please read the documentation carefully before using cvs2svn.

Latest development version

For general use, the most recent released version of cvs2svn is usually the best choice. However, if you want to use the newest cvs2svn features or if you’re debugging or patching cvs2svn, you might want to use the trunk version (which is usually quite stable). To do so, use Subversion to check out a working copy from using a command like:

svn co --username=guest cvs2svn-trunk

(the password is empty; i.e., just press return).

Release History

This version
History Node


History Node


Supported By

Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Google Google Cloud Servers DreamHost DreamHost Log Hosting