Versions Compared

Key

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

...

Until someone comes up with a better suggestion, let's assume the command is called stag.   Then it may be invoked

stag --help

or

Wiki Markup
*stag*  *\-cvspath=*{_}path-relative-to-cvsroot{_} *\-notenotes="*{_}text-for-release.notes{_}" (-*\-*major \| \--minor \| \--patch \| \--custom=*{_}custom-version-string{_}) \[*\--cvspath=*{_}path-relative-root{_}\] \[*\--branch=*{_}alternate-branch{_}\] _pkgName_

Value of --cvspath defaults to pkgNamecvspath 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.

What will happen

In case one of --major, --minor or --patch has been specified, stag will generate the new version string by looking up the "highest" tag along the main branch, incrementing the specified field and zeroing fields to the right, if any, and finally prepending with pkgName- the package name derived from the value of -cvspath. In the case of a custom string, stag merely prepends pkgName- the package name.

stag will then check out the package into a temp directory (along branch if so specified), update the version string in the package's SConscript file, and add a suitable line to release.notes. A release.notes file which has been modified by stag will have lines with format

...