...
- Make a new release tag which is identical to current HEAD build
- Make a new HEAD, not based on any previous HEAD.
- Make a new HEAD by changing some package tags, adding new packages or removing packages as compared to current HEADMake a new HEAD, not based on any previous HEAD.
There must be a file packageList.txt, listing all packages and versions belonging to the build at the top level (e.g. ScienceTools-scons/packageList.txt). It is used to determine what gets the new tag in cases 1. and 32. above. For 3., tagCollector.py will update it appropriately for 2the packageList.txt belonging to the old HEAD appropriately .
At some point would like to add ability to make a new tag along a branch by updating, adding or removing packages relative to an existing tag on that branch.
...
Wiki Markup |
---|
jrb@noric11 $ python tagCollector.py \--help Usage: tagCollector.py \[options\] container, e.g. python tagCollector.py \--new=HEAD ScienceTools |
See also https://confluence.slac.stanford.edu/x/GgFyBQ
python tagCollector.py \--new=HEAD \--real ScienceTools
python tagCollector.py \--parent=NONE \--new=35 GlastRelease
python tagCollector.py \--new=ScienceTools-09-24-00 ScienceTools |
See also https://confluence.slac.stanford.edu/x/GgFyBQ
Wiki Markup |
---|
Options:
\-h, \--help |
Wiki Markup |
Options: \-h, \--help show this help message and exit \-p PARENT, \--parent=PARENT   show this help message and exit \-p PARENT, \--parent=PARENT HEAD or (branched) release tag to act as base 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 HEAD or specific literal tag toname. create;Required required option \-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\] |
In this version PARENT can only be HEAD on NONE.
Here is a sample upgrade file:
...
The overall strategy in the make-new-HEAD-from-previous case shown above is
- check out version of packageList.txt belonging to parent tag
- merge changes requested in upgrade file into packageList.txt; commit new packageList.txt
- tag top-level files (packageList.txt, ChangeLog, containerNotes.txt) belonging to no subpackage with new HEAD tag
- tag each package listed in packageList.txt with new HEAD tag, saving SConsFiles for last
The function to make a release tag from HEAD is similar except that no new packageList.txt file needs to be generated. Just use the one from the parent tag as is. For the case --parent=NONE, use the most recent packageList.txt
packageList.txt
This file lists all packages comprising the container, somewhat analogous to the CMT requirements file for the container package. It is not normallly edited by hand.
...