NEWSUBSYSVER creates a new version-subproject for a subsystem by sharing an existing and labels the old and the new version-subprojects according to AbaPerls label conventions.
Command-line syntax:
newsubsysver [-prefix letter] SS-path oldver newver
-prefix | Prefix letter for the labels. Default value is L. prefix must be a single letter A-Z. If you enter a lowercase letter, NEWSUBSYSVER converts it to uppercase. |
SS-path | The SS-path for the old version-subproject. |
oldver | The name for the old version. This string must be on the form Major.Middle and appear as a component in SS-path. |
newver |
The name for the new version. This string must be on the form Major.Middle and numerically be > oldver and have the same number of decimals as oldver. That is, if oldver is 2.10, newver cannot be 2.2 or 2.200. There must not be an existing project for the new version-subproject. |
The function of NEWSUBSYSVER is best described through an example or two. Say that you enter this command:
newsubsysver ssdb/$/test/3.10 3.10 3.20
In this case NEWSUBSYSVER will perform the following actions:
Assume this command:
newsubsysver -prefix G ssdb/$/gadgets/4.8/widgets 4.8 5.0
In this case NEWSUBSYSVER will perform the following actions:
As you can see from these examples, the path for the new version-subproject is derived by replacing oldver in SS-path with newver.
NEWSUBSYSVER checks that the label LetterMajor.Middle.1000 does not exist for oldver. However, NEWSUBSYSVER does currently not check if there is a label with the the same Major.Middle.1000 but a different letter. Neither does NEWSUBSYSVER check if there are labels with Minor > 1000. Such checks may be added in a later version.
Note: sharing projects takes considerable time. For a project with over 1000 files, you can easily expect execution time over 15 minutes.
Note: In the case oldver is on the leaf of SS-path, NEWSUBSYSVER first shares the old version-subproject into a temporary subproject with a name like $/TEST/USER-109980980/3.10 and the renames the new version-subproject to newver, moves into the right place, and finally removes the temporary subproject. If NEWSUBSYSVER would be interrupted, you would see the temporary subproject hang around.
Copyright © 1996-2010,
Erland Sommarskog SQL-Konsult AB.
All rights reserved. AbaPerls is available under
Perl Artistic License
This page last updated 10-10-24 22:33