[Biopython-dev] biopython on github

Bartek Wilczynski bartek at rezolwenta.eu.org
Thu Feb 26 13:26:15 UTC 2009


Hi all,

I've been looking around for alternative ways of converting our
current CVS repository to a new DVCS system (git or bzr).

The launchpad team offers the possibility of automatic mirroring of a
cvs repository in a bzr branch, but it would require a chenge in
configuration on our side (they still didn't answer my request to
support password protected repos).

I was looking for other option, and it seems that there is a way to
solve the problem of mirroring.
There is a tool cvs2git (a part of cvs2svn package
http://cvs2svn.tigris.org/cvs2git.html), which reads a cvs repository
and outputs a dump which is readable by both git and bzr (using the
fast-import command). The nice thing about it is that it's very fast
(~3mins) for the whole biopython repo.

I've setup a small script, which grabs the newest cvs repo from
dev.open-bio.org and converts it to git and bzr branches which are
then pushed to github and launchpad. it currently runs as a crontab
script on my machine and it could be transferred to open-bio.org if
they would install bzr and git, but I'm fine with running it from my
computer for a few months, especially if we plan to drop CVS support
in a foreseeable future, which would make the installation of the
script to open-bio servers useless.

You can see the branches here:
http://github.com/barwil/biopython-test/tree/master
https://code.launchpad.net/~bartek/biopython-test/trunk_updates

the branches are different than the previous ones made by me and
Giovanni, because they now include the whole repository  (including
biodata,html,website etc.). We might consider spliting these into
different repos.

Using this kind of setup, we are allowing all interested to easily
fork our current repo and then even merge their changes into the newer
version of exported source. The only problem is, that as long as the
CVS is the main repository, it might be difficult to commit these
changes back to CVS. Does anyone have a clever idea for an easy
procedure to commit things back to CVS? Because having a branch is not
of much use if cannot easily accept contributions.

All comments and/or ideas are welcome
cheers
Bartek



More information about the Biopython-dev mailing list