under construction
The Genoviz project uses Subversion for version control and managing the release cycle. The repository is hosted at sourceforge.net.
Anyone contemplating contributing to the Genoviz code base should read this on-line text on Subversion before getting started: Version Control with Subversion.
Note that for many years, Genoviz used CVS for version control. We migrated from CVS to subversion in 2008.
IGB uses several libraries and sub-projects within the genoviz repository, including
The repository contains branches and a main trunk of development.
There are two types of branches - release branches and feature branches.
Release branches have names like "igb_6_4" and correspond to major releases of the software we have made for end users. These should never be removed from the repository and should not ever be touched except by the group managing releases for end users. (As of this writing, this is the team at UNC Charlotte led by Ann Loraine. If you have any questions about this, contact her.)
Feature branches are development workspaces and may ultimately be merged backed into the trunk provided they pass testing. If you have a great new idea for an IGB feature or a change the the user interface, first make a branch and implement your changes there. If you are interested in working on the GenoPub code, contact David Nix.
Do not develop on the trunk unless your proposed new feature is bug fix or is highly unlikely to introduce new bugs to existing systems and features. If you have any questions about this, please contact the IGB development team directly or via the developers' list.
There are two major reasons you should implement new features on a feature branch rather than the trunk:
The main trunk of development should not be used to "try things out" or experiment with new ideas and architectures. If you want to try something new that is likely to cause many other features to break or that you are not sure will work, then first make a branch and develop it there.