Committing changes

D. Adams
26jul00 1925


Introduction

The procedures for checking out, modifying and building a package in a local release area are described in "Changes in a local release".

Once the changes are completed and tested, there are three steps required to include the in a future release:

In order to take any of these actions, you must be a registered author for the package.


Committing

The commit is done with the cvs commit command. In the package directory simply type

> cvs commit
This will bring up a a file in an editor in which you can document your changes.


Tagging

Tagging assigns a version name to the present version of each file in the package. By convention these are usually of the form v12-34-56 where the integer fields take increasing values (e.g. v00-06-22 followed by v00-06-23). CVS requires an alphabetic first character and does not allow periods so v00-02-11 stands in for version 00.02.11.

The tag command has the form

cvs rtag v00-02-11 gtr_mcsim

where gtr_mcsim is the package name and v00-02-11 is the version.

Note that CVS will let you reuse tag names for a package but it is strongly recommended that you always tag a package a new name.

The above command tags the head version of the package. If you wish to tag the head of a branch, then use the syntax

cvs rtag -r preco03-br v00-02-11 gtr_mcsim
where preco03-br is the tag for the head of the branch.


Combined committing and tagging

If your package has a VERSION file, then the steps of committing and tagging can be combined using the ctcommit script. The version file should contain a version number in the form 11.22.33 where the integer fields may be replaced with any two-digit integer. directory:

From the package directory, issue the command

> ctcommit
It will verify the VERSION has changed and then commit the changes and tag with a name built from the version number. The number 11.22.33 will be converted to the tag name v11-22-33.

If a package has already been committed, the command cttag can be used to tag the package using VERSION.

The commands ctcommit and cttag cannot be used for tagging branches.


Releasing a change

Once you have thorouhly tested, committed and tagged you can release the package using the D0 Release Request Web Interface.

For releasing changes to production releases, contact the coordinator for the release. Do not use the web interface.


dladams@fnal.gov