Source Control

The Bioconductor project is maintained in a Subversion source control system. Maintainers can also access their packages through git and Github using the Bioconductor Git-SVN bridge.

Subversion Resources

Software Packages

To check out (co) all packages in the software repository (~3 GB) use:

svn co https://hedgehog.fhcrc.org/bioconductor/trunk/madman/Rpacks Rpacks-devel

This creates a copy of all packages on your local machine. Specify a name other than "Rpacks-devel" if you want a top-level directory with different name.

To check out the code for the Biobase package use:

svn co https://hedgehog.fhcrc.org/bioconductor/trunk/madman/Rpacks/Biobase

The check out command uses the directory name in the repository if the destination name is not specified.

Basic svn Operations

Primary commands:

Some other commands:

Many of these commands have additional arguments. Get help on diff, for example, like this:

svn help diff

The Subversion Book has more complete documentation and examples for all the commands and options.

Where to Commit Changes

Almost all development is on the trunk ('devel') branch of the SVN repository, as indicated by the 'trunk' part of the URL in the examples above. All bug fixes, new features and major changes are introduced in devel. Each commit should include a bump in the z portion of the x.y.z package versioning scheme.

If you commit to trunk before 5:20 PM Seattle time, your changes will build overnight and be reflected in the next day's build report which should appear around 10:00 AM Seattle time.

Committing Changes to the Release Branch

Only bug fixes should be back-ported to the release branch. This is so that users of the release branch have a stable environment in which to get their work done.

If you wish to have a bug-fix made in the devel branch also available in the current release branch, you first need to take note of the revision number from your commit, for example,

$ svn commit -m "Sample commit"
Adding         Rpacks\Biobase\DESCRIPTION
Sending        Rpacks\Biobase\DESCRIPTION
Transmitting file data ..
Committed revision 140.

was revision 140. The changeset you want is -c140.

You'll need to have checked out the branches subdirectory, which is separate from trunk. If you have only checked out the madman subdirectory previously, you'll need to also check out the appropriate branch subdirectory:

svn co https://hedgehog.fhcrc.org/bioconductor/branches/RELEASE_3_0/madman/Rpacks/MYPACKAGENAME

Merge your changes from the trunk to the release branch, check and fix any conflicts, and commit. So, from your release branch directory (e.g. RELEASE_3_0/madman/Rpacks/MYPACKAGENAME):

svn merge -c140 https://hedgehog.fhcrc.org/gentleman/bioconductor/trunk/madman/Rpacks/MYPACKAGENAME
svn status   # Look for C, indicating a conflict
             # fix conflicts... (remember to use svn resolve for each)
svn commit -m "merged r140 from trunk"

Experiment Data Packages

The root of the Bioconductor experiment data svn repository is https://hedgehog.fhcrc.org/bioc-data/trunk/experiment. Experiment data packages are divided into two components: pkgs (containing all but the data files) and data_store (containing the data files). To obtain a specific experiment data package first check out the package infrastructure then fold the data in using the Python script https://hedgehog.fhcrc.org/bioc-data/trunk/experiment/pkgs/add_data.py on the exported package. Here are the commands to check out the affydata package:

svn export https://hedgehog.fhcrc.org/bioc-data/trunk/experiment/pkgs/add_data.py
svn co https://hedgehog.fhcrc.org/bioc-data/trunk/experiment/pkgs/affydata
./add_data.py affydata

Note that experiment data packages are only built twice a week, on Wednesdays and Saturdays.

Having Problems?

Here is a list of possible issues:

Fred Hutchinson Cancer Research Center