[Biopython-dev] biopython on github

Giovanni Marco Dall'Olio dalloliogm at gmail.com
Sat Mar 21 10:40:05 EDT 2009


On Sat, Mar 21, 2009 at 6:33 AM, Michiel de Hoon <mjldehoon at yahoo.com> wrote:
>
>> Which parts of this fall out of "standard" git
>> practice? In general,
>> we should strive to keep this as simple as possible. If
>> using Git is
>> complicated then we are losing a lot of our advantage over
>> CVS/patches.
>
> I haven't been following this topic closely, and as an "outsider" using git seems more complicated than using cvs or svn. And to be honest, I don't know if Biopython actually needs the branching and forking stuff.


ok, but I assure you if you don't want to learn the advanced features
it can be used as you did with cvs.
The only difference, maybe, is that you work with a local copy
(offline) and push the changes only when you are sure about them.


If you keep a mirror on github to collect patched and enhancements, it
has some advantages:

- more than one people can work on a patch at the same time
- it is a lot easier to create customized branches of biopython. So if
someone needs to create a custom version of biopython for its own
purposes, it will be always easy to keep it compatible with the
official code.
- people can play with the code and propose enhancements, without
having to ask for write rights. This means that more people can take
confidence with biopython's code and propose fixes.

Have a look at this video, where it shows that the Ruby On Rails
project has grown quicker when it has moved to github:

- http://python.genedrift.org/2009/03/15/ror-commits/

(the jump should be on minute 5.10 or so)


> I think that this is more useful for bigger projects, where multiple developers may be working on interrelated parts of code at the same time. That hardly ever happens in Biopython, though.

Let's say I want to propose a patch to biopython. One of you
developers will probably need to look at it and propose some changes
to adapt it with the rest of biopython.
Isn't it this situation are you describing (multiple developers
working on interrelated parts of the code)?

Another example is the popgen module.
Since it is a pretty big module, and independent from the rest, an
'experimental popgen branch' of biopython has been created, based on
what was the latest biopython's cvs at the time.
However, in the range of time that it has passed since when this
branch has been created, the biopython's cvs has changed: so maybe now
the experimental popgen branch is not compatible any more with the
official code, if some module or convention has been changed.

So, git and github make the process of creating a new branch of
development and keeping it compatible with the original one easier.

> --Michiel.
>
>
>
> _______________________________________________
> Biopython-dev mailing list
> Biopython-dev at lists.open-bio.org
> http://lists.open-bio.org/mailman/listinfo/biopython-dev
>



-- 

My blog on bioinformatics (now in English): http://bioinfoblog.it


More information about the Biopython-dev mailing list