Purpose
Tag (i.e., call cvs rtag on) a package with a tag of SCons-acceptable form. Update the package's SConscript and release.notes files before tagging.
Syntax
Until someone comes up with a better suggestion, let's assume the command is called stag. Then it It (release 0.2.0) may be invoked
stag -help
or
Wiki Markup |
---|
*stag* *\-cvspath=*{_}path-relative-to-cvsroot_ *\-notes="*{_}text-for-release.notes_" (*\-major \| \-minor \| \-patch \| \-custom=*{_}custom-version-string_) \[*\-branch=*{_}alternate-branch_\] \[*\-verbose*\] |
Value of -cvspath determines package name: it's the last component of the path. Value of -branch defaults to MAIN. If -branch is specified and is anything other than MAIN, -custom must be used and its value must follow the form for tags along a branch, namely dd-dd-dd-aadd where all the d's are digits and the a's are alphabetic characters, e.g. 01-02-00-gr01. If -custom is specified for a main branch tag its value must be of the form dd-dd-dd. -verbose may add some informational messages to terminal output.
Examples
Code Block |
---|
//simplest example. Just tag a pkg stag -notes="Some comments" -patch -cvspath=xmlBase //tag pkg which happens to be contained in another pkg stag -notes="Tagging a subpackage" -minor cvspath=celestialSources/GRB //tag pkg which contains children (GRB, etc.). Doesn't tag the children stag -notes="Tagging parent" -minor cvspath=celestialSources //tag along a branch stag -notes="Tagging along a branch" -branch=GlastRelease-15-49-02 custom=05-04-11-gr01 -cvspath=xmlBase |
...
If the package has subpackages, like celestialSources, the new tag will only be applied to the files belonging to the specified package, not to files belonging to children.
Prerequisites to run
User must have a working cvs client, invoked with the command cvs. stag will try to determine repository from the environment variable CVSROOT; if not set stag will fall back on default value :ext:centaurusa.slac.stanford.edu:/nfs/slac/g/glast/ground/cvs. Similarly it will attempt to determine protocol from the environment variable CVS_RSH; if not set it will use ssh.
Prerequisites to tag a package
The package must have a file called SConscript which includes Authors: and Version: lines. See the SConscript file for package irfs for a minimal example. The package must also have a doc directory containing a file release.notes.
Status
Executables for RHEL4, RHEL3, Windows and Windows Mac can be found at ftp://ftp-glast.slac.stanford.edu/glast.u05/stag. The RHEL4 build runs on RHEL5 as well as RHEL4.
Wiki Markup |
---|
{highlight:yellow}{*}Windows users please note{*}{highlight} |
...