Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin

...

Script tagCollector.py has been committed to CVS (grits-tools/python/tagCollector.py). This page has been updated for version 1.22 27  for which the bulk of the work is done in batch under certain circumstances and which has new options, --submit_batch and --log.

...

Note
titleInterface changes from previous versions

Version 1.27 changes default output to email.  If --log option is used, output will go to specified file
Version 1.22 adds new options --log and --submit_batch. Also, the --real option now implies --verbose. See details below.
Version 1.19 adds a new option, --branch, making it possible to create new tags along a branch. 
Version 1.13 accepts the value NONE for the --parent option.  In this case, --new=HEAD is not allowed, but you can specify a positive integer, e.g. --new=123 in order to create a tag for HEAD 123.
Version 1.11 has the additional flag --fake. The options --real and --verbose are now also true flags, taking no argument.

...

Call Interface, Usage

Here is the help output:

Wiki Markupjrb@noric11 $ python tagCollector.py \ --help
Usage:    tagCollector.py \ [options\] container, e.g.
python tagCollector.py \ --new=HEAD ScienceTools
python tagCollector.py \ --new=HEAD \ --real ScienceTools
python tagCollector.py \ --parent=NONE \ --new=35 GlastRelease
python tagCollector.py \ --new=ScienceTools-09-24-00 ScienceTools

CVS Version: $Id: tagCollector.py,v 1.22 27 2011/09/01 16:14:36  jrb Exp $
See also https://confluence.slac.stanford.edu/x/GgFyBQ  

Wiki MarkupOptions:   \
  -h, \ --help                show this help message and exit   \-p PARENT, \--parent=PARENT                                HEAD or NONE. Someday also (branched) release tag to                                act as base \[default: HEAD\]   \-n NEWTAG, \--new=NEWTAG                                Specify tag to be created: HEAD (interpreted as next                                available HEAD), positive integer (number of HEAD), or                                literal tag name. Required option Wiki Markup  \-b BRANCH, \--branch=BRANCH                                Bracnh along with to make tag. packageList.txt,                                containerNotes.txt and ChangeLog will come from this                                branch. \[default: MAIN\]   \-u UPGRADEFILE, \--upgrade_list=UPGRADEFILE                                File listing packages to upgrade, add or remove; used                                only when creating a new HEAD \[default: upgrade.txt\]   \-r, \--real                  Really do it \[default: not set\]   \-f, \--fake                 Just print what we \*would\* do \[default: yes\]   \-v, \--verbose           If set show all cvs command output \[default: not set\]   \-s, \--submit_batch   Forces submit to batch even if \--fake   \-l LOGFILE, \--log=LOGFILE                                Batch log file path \[default: $HOME/tagCollector.log\]  help                show this help message and exit
  -p PARENT, --parent=PARENT
                               HEAD or NONE. Someday also (branched) release tag to
                               act as base [default: HEAD]
  -n NEWTAG, --new=NEWTAG
                               Specify tag to be created: HEAD (interpreted as next
                               available HEAD), positive integer (number of HEAD), or
                               literal tag name. Required option

  -b BRANCH, --branch=BRANCH
                               Bracnh along with to make tag. packageList.txt,
                               containerNotes.txt and ChangeLog will come from this
                               branch. [default: MAIN]
  -u UPGRADEFILE, --upgrade_list=UPGRADEFILE
                               File listing packages to upgrade, add or remove; used
                               only when creating a new HEAD [default: upgrade.txt]
  -r, --real                  Really do it. Job is submitted to batch; email will be sent to
                                relmanlist. Implies --verbose [default: not set]
  -f, --fake                 Just print what we *would* do [default: yes]
  -v, --verbose           If set show all cvs command output [default: not set]
  -s, --submit_batch   Forces submit to batch even if --fake
  -l LOGFILE, --log=LOGFILE
                               Batch log file path [default: no log file; send email instead]
 --internal

In this version PARENT can only be HEAD on NONE.

...

No Format
# Upgrade for ScienceTools
// Comments can start with a '#' as above or with a slash
# The second column should be the full <cvs-path-to-package>

 u  dataSubselector dataSubselector 08-02-01
 u  tip             tip-02-17-01

#  One can also add or remove packages from HEAD, e.g.
#  a  myNewPackage   myNewPackage-00-00-01
#  r  obsoletePackage

Note: The second column should be the full cvs path to the package. Here and here is part of the output when it was used as the value for upgrade_list.

No Format

jrb@noric11 $ python tagCollector.py --new=HEAD --fake ScienceTools
tagCollector.py  was invoked with argument  ScienceTools  and options
parent= HEAD
new= HEAD
upgrade_list= upgrade.txt
branch= MAIN
for_real= False
verbose= False

CVS version:  $Id: tagCollector.py,v 1.20 2011/08/01 17:42:02 jrb Exp $
 
about to issue command
cvs -d /nfs/slac/g/glast/ground/cvs  rlog  -h ScienceTools-scons/SConstruct
lastHeadTag is:  ScienceTools-HEAD-1-896
 
about to issue command
cvs -d /nfs/slac/g/glast/ground/cvs  rlog -h ScienceTools-scons/packageList.txt
 
about to issue command
cvs -d /nfs/slac/g/glast/ground/cvs  rlog -h ScienceTools-scons/packageList.txt
 
about to issue command
cvs -d /nfs/slac/g/glast/ground/cvs  co -r ScienceTools-HEAD-1-896 ScienceTools-scons/packageList.txt
Found changed package:  tip
Found changed package:  dataSubselector
 
about to issue command
cvs -d /nfs/slac/g/glast/ground/cvs update -A ScienceTools-scons/packageList.txt
 
about to issue command
cvs -d /nfs/slac/g/glast/ground/cvs commit -m "tagCollector.py updating pkg list"
        ScienceTools-scons/packageList.txt
Just fooling; it wasn't for real
 
about to issue command
cvs -d /nfs/slac/g/glast/ground/cvs  rlog -h ScienceTools-scons/containerNotes.txt
No containerNotes.txt file found for  ScienceTools-scons
 
about to issue command
cvs -d /nfs/slac/g/glast/ground/cvs rtag ScienceTools-HEAD-1-897 ScienceTools-scons/ChangeLog
Just fooling; it wasn't for real
 
about to issue command
cvs -d /nfs/slac/g/glast/ground/cvs rtag ScienceTools-HEAD-1-897 ScienceTools-scons/packageList.txt
Just fooling; it wasn't for real
 
about to issue command
cvs -d /nfs/slac/g/glast/ground/cvs rtag -r xmlBase-05-05-10 ScienceTools-HEAD-1-897 xmlBase
Just fooling; it wasn't for real

about to issue command
cvs -d /nfs/slac/g/glast/ground/cvs rtag -r astro-03-11-11 ScienceTools-HEAD-1-897 astro
Just fooling; it wasn't for real

?(followed by many similar lines tagging all the individual packages comprising ScienceTools.
The last one is always SConsFiles:)

about to issue command
cvs -d /nfs/slac/g/glast/ground/cvs rtag -r SConsFiles-00-12-01 ScienceTools-HEAD-1-897 SConsFiles
Just fooling; it wasn't for real

...

Proposal: Modify tagger script to allow creation and deletion of tmp tags with names satisfying a pattern.  Should be something like HEAD pattern except replace HEAD with string HEADtmp, possibly HEADtmp<stuff>   where <stuff> is an arbitrary and optional alphanumeric string if, e.g., we want to distinguish different attempts of creating HEAD of a particular version. DONE but, as of 1.11, temp tags are no longer used.

...

  • test adequately Creating next HEAD tag has been tested for Toy-scons   DONE Testing deemed adequate as of March 10, 2011.
  • add as output a file which lists all the packages and their tags belonging to the new tag just created.  The file probably should go at the top level (e.g., in the ScienceTools-scons directory).  One possibility in the new-HEAD case is to create it  after the temp. tag has been made, submit to CVS, move temp tag to the new version, then make the final new HEAD tag. However, if we plan to also support tag collecting from RMViewer, it would have to go through a similar procedure.  DONE   The file is called packageList.txt.
  • add ability to make release tags along a branch DONE   As of version 1.19.