[Bioperl-l] Re: [Bioperl-pipeline] Requirements for pipeline installation (fwd)

Jason Stajich jason@cgt.mc.duke.edu
Fri, 23 Aug 2002 13:22:49 -0400 (EDT)


The web cvs has pretty pictures of the available tags and branches.
Here is one for the README file.
http://cvs.open-bio.org/cgi-bin/viewcvs/viewcvs.cgi/bioperl-live/README?graph=1.24&cvsroot=bioperl


On Sat, 24 Aug 2002, Elia Stupka wrote:

> Just sent this to somebody who was wondering about "branches" and "main
> trunk" and "tags", thought somebody else might be interested on the list
> if they are confused with the terms we use :)
>
> Elia
>
> ---------- Forwarded message ----------
> Date: Sat, 24 Aug 2002 01:06:40 +0800 (SGT)
> From: Elia Stupka <elia@fugu-sg.org>
> Subject: Re: [Bioperl-pipeline] Requirements for pipeline installation
>
> > Ok I guess I am confused about what 'main trunk' is.
>
> In code development, at the initial stage of a project, everybody is
> working together on the same code. When the code reaches some kind of
> stability, a "tag" is put in, to mark that on that date all code was
> working well, all tests were passing, and that if people want the latest
> stable code, they should use that.
>
> Now here is the tricky part. Sometimes after you put a tag in, people
> start relying on that tagged code a lot (let's call it version 0.5 for
> example). So while development of new functionality happens on the "main
> trunk" of the code, you might want to "branch" the code that you tagged
> with tag 0.5. In other words, if you imagine development like a tree, you
> might want to make minor bug fixes and modifications to the 0.5 code, thus
> making a little branch on the tree.
>
> In a perfect world you would only have tags, and development completely on
> the main trunk. In a sane normal world, you have small branches, where
> only small but important code changes such as bug fixes are committed to
> the stable code that was initially tagged, than branched.
>
> If a change is committed to a branch it always has to be committed to the
> main trunk as well. In a crazy bad world, branches grow insanely long,
> becoming very different from the original tagged code. In a completely
> screwed up world branches become not only long but also different from the
> main trunk. That can lead to real disaster and is usually only resolved by
> going in deep and back-porting all changes from the branch to the code, or
> declaring that branch dead.
>
> In pictures it's easier to see why it's called main trunk:
>
>         start
>           |
>           |
>           |
>           |tag
>           |\
>           | \branch
>           |
>           |
>           V
>          main
>
> I hope it was somewhat clear ;)
>
> Elia
>
> ********************************
> * http://www.fugu-sg.org/~elia *
> * tel:    +65 6874 1467        *
> * mobile: +65 9030 7613        *
> * fax:    +65 6779 1117        *
> ********************************
>
>
>
> _______________________________________________
> Bioperl-l mailing list
> Bioperl-l@bioperl.org
> http://bioperl.org/mailman/listinfo/bioperl-l
>

-- 
Jason Stajich
Duke University
jason at cgt.mc.duke.edu