...
Version Control
The Genoviz project uses Subversion Git for version control and managing the release cycle. Note that for many years, Genoviz used CVS Subversion for version control. We migrated from CVS Subversion to subversion Git in 20082014.
IGB code base
IGB uses several libraries and sub-projects within the genoviz repository, including:
- genometryImpl genomic data models shared by DAS server code and IGB
- genoviz_sdk graphics framework that handles zooming, user interactions with data, etc.
- igb the core IGB application
- plugins functions added via plug-in interface, plug-ins are also called bundles (uses OSGi)
- common - common classes used by the other projects
Structure of the repository
...
The repository contains branches and a main trunk of development.
IGB project
The IGB project uses branches for major releases and uses the "trunk" (genoviz/trunk) for development.
Release branches
Release branches have names like "igb_6_4" and correspond to major releases of the software built for end users. These should never be removed from the repository and should not be edited except by the group managing releases for end users. (As of this writing, the team at UNC Charlotte led by Ann Loraine manages the release cycle.
If bugs are discovered after a major release, we correct the problem on the latest branch and release a new version to the public as a "dot release," e.g., 6.4.1 is the first bug fix release of IGB version 6.4.
Genoviz/trunk
This is the main line of IGB development where we add new features or perform code refactoringhas a master branch which is used as the "stable" development line. The master branch is intended to reflect the latest released code or the latest release candidate code (i.e. minor bug fixes which will be included in the next minor release version). The repository also has one or more active development branches. These development branches follow the conventional naming structure of igb_version (e.g. igb_8_2). Only when creating a major release will the active development branches be merged with the stable (master) branch. Once merged with the master branch, the development branch is discarded and a new development branch is created with the next major release version.
Release Tags
When creating a release, a Git tag is created to annotate the point at which the release was built.
GenoPub project
For information about develop processes underway for the GenoPub project, please contact David Nix, Huntsman Cancer Institute