Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Wiki Markup
Options:
  \-h, \--help            show this help message and exit
  \-p PARENT, \--parent=PARENT
                        HEAD or (branched) release tag to act as base
                        \[default: HEAD\]
  \-n NEWTAG, \--new=NEWTAG
                        HEAD or specific tag to create; 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\]

...

The overall strategy in the make-new-HEAD 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
  • make a temporary tag which is identical to the most recent HEAD tag
  • if a package is to be added, issue a cvs rtag command to tag it with the temp tag
  • if a package is to be updated, first remove the temp tag from the module, then add it to the specifed package tag version.
  • if the file packageList.txt exists in the container's top-level directory, check it out, update to reflect tags to be used in new version, commit and tag with the temp tag.
  • make a new tag with the official name (next HEAD) from the temp tag; remove the temp tag and temporary directory where packageList.txt was checked out.

The function to make a release tag from HEAD is much simpler: just issue a cvs command to make the new specified tag from all files bearing the latest HEAD tagsimilar except that no new packageList.txt file needs to be generated.  Just use the one from the parent tag as is.

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. The file contains a series of lines of the form.

Warning
titleInterface change

As of version 1.10 of tagCollector.py, this file is a required part of every container package.

<cvs-path-to-package> <tag>

...