Biopython and version control systems
Initially for evaluation purposes only, Giovanni and Bartek have setup a mirror of Biopython on GitHub, which is automatically updated from the OBF hosted Biopython CVS repository. See our git migration wiki page for details. If this is favorably received, then moving Biopython from CVS to git seems likely at some point this year.
Originally, all the OBF hosted projects used CVS for their source code repositories. At the start of 2008, BioPerl and BioJava moved over to Subversion (SVN), followed by BioSQL. Biopython was originally going to do the same, but this didn’t actually happen. Having all the Bio* projects using the same version control system would have simplified server administration for the OBF, but using SVN wouldn’t really have made that much difference to Biopython development. Discussion on the Biopython development mailing list has since shifted towards next-generation distributed version control systems like git or Bazaar.
Quote from Linus Torvalds,
The slogan of Subversion for a while was ‘CVS done right’, or something like that, and if you start with that kind of slogan, there’s nowhere you can go. There is no way to do CVS right.
In addition to creating the Linux kernel, Linus Torvalds more recently wrote git, a prominent example of a distributed version control system. Rather than switching from CVS to SVN, the BioRuby project choose instead to use git, hosted on github (see the BioRuby repository). Biopython is considering doing something similar – using a distributed version control system like git should make it easier for potential Biopython contributors to manage their own local copies of Biopython under version control.
Peter, on behalf of the Biopython developers