Version Control

The IGB project uses git for version control. Previously, we used svn (subversion) and cvs. We migrated from an svn repository on SourceForge to a git repository on Bitbucket in 2014.

The repository address is: https://bitbucket.org/lorainelab/integrated-genome-browser.

When you clone from this repository, by default you'll get the latest stable release candidate, also called the master branch. The master branch code is typically the same version of IGB that is available on the BioViz Web site. It may have some minor differences, typically bug fixes or low-risk new features. When we release a new version of IGB at BioViz, it comes from this master branch.

Repository branches

IGB repository branches include:

How development branches correspond to IGB release names for users

When we distribute IGB to users, we assign version names such as 8.3.0 or 8.4.2, following the naming convention [N].[M].[P], where N, M, and P are integers. The N and M numbers come from the name of the development branch that was merged into the master branch before a major release. The final ".P" suffix signifies low-risk, small changes that we merged from an upcoming development branch into the stable master branch and then distributed to users as a "minor" release. 

A "major" release is anything that increments either first or second version number of IGB for users (e.g., 8.3.4 to 8.4.0 is a major release). When we do a major release, we merge the development branch into the master branch, stop making changes to now obsolete development branch, and create a new one where we make further changes.

A "minor" release is is anything that increments the final ".P" suffix version number of IGB for users (e.g., 8.3.0 to 8.3.1 is a minor release) and which requires merging a small amount of code from the development branch into the master branch.

When developing IGB, you should make changes to the current development branch, not the master branch. For details, see Developing IGB.

IGB code base

The IGB repository is organized into sub-projects, including:

 

Genoviz SDK

IGB depends on the Genoviz Software Development Kit (Genoviz SDK) which is version-controlled in a separate repository at https://bitbucket.org/lorainelab/genoviz-sdk. When you build IGB, the compilation tool we use (maven) will obtain the latest copy of the genoviz compiled code (a "jar" file) and install it locally.

Release Tags

When creating a release, we sometimes create a tag indicating at what point the release was built.

GenoPub project

For information about the GenoPub project, please contact David Nix, Huntsman Cancer Institute.