|
You use qstamp to associate a label or stamp with a specific revision in a QVCS archive. By associating the same label with an entire set of QVCS archives, QVCS makes it easy for you to keep track of which revisions of files are used for a specific product release.
You can use the -r REVISION switch to create a floating label that is always associated with the newest revision on the given branch. As new revisions are added to a branch, a floating label will move to remain associated with the tip revision.
By default, qstamp labels the newest revision on the default branch of the QVCS archive.
Command Template
qstamp {[-r REVISION] -label LABEL}|{-duplabel ORIGINAL_LABEL ADDED_LABEL} filename
*One of the options enclosed in {} must be specified.
where:
-r REVISION (optional)
Specifies that the version label should be associated with the given revision. The default is to associate the label with the newest revision on the default branch of the QVCS archive. If you want to label a specific revision in the archive, the REVISION should be a fully specified revision number with no wildcards. If you want to add a floating label, you should omit the final minor revision number. For example, to create a floating label for the trunk, use -r 1. To create a floating label for a branch containing a revision 1.3.1.2, use -r 1.3.1.
-label LABEL
Specifies the label string that should be associated with a revision. If the -r switch is not used, the LABEL is associated with the most recent revision on the default branch; if the -r switch is used, the LABEL is associated with the revision specified with the -r switch. If LABEL is more than a single word, it should be enclosed in single or double quotes.
-duplabel ORIGINAL_LABEL ADDED_LABEL
Use the -duplabel option to add a new label to all revisions previously affixed with ORIGINAL_LABEL. The ADDED_LABEL does not overwrite the ORIGINAL_LABEL; rather, these revisions will carry both labels.
This is useful for creating "patch" builds. Suppose you've released a product which you labeled as Release1. You've since made many additional changes to the files that compose that product in preparation for the next release. You then discover a defect in Release1 that must be fixed without adding all the new features of the work-in-progress. With the -duplabel option, you could use qstamp to add a patch label, say Release1.01, to all the QVCS archives that compose the original Release1 product. Then, you would make the necessary changes to the few files causing the bug, and adjust their Release1.01 labels to point to the corrected revisions. In this way, all the files necessary for the patch release would be grouped together.
If ORIGNAL_LABEL is a floating label, ADDED_LABEL will be anchored to point at the tip revision that ORIGINAL_LABEL points to at the time of the command.
filename (required)
The work file associated with the QVCS archive to which you are applying a label.
The filename can make use of the wildcard character * in order to perform the operation on all applicable files in the current directory, all files of a certain extension (e.g. *.cpp), etc.
Examples
qstamp -label 'Test Release' foobar.c
labels the most recent revision on the default branch of foobar.c's QVCS archive with the string 'Test Release'.
qstamp -r 1.3 -label 'Test Release' foobar.c
labels the 1.3 revision in foobar.c's QVCS archive with 'Test Release'.
qstamp -r 1.3.1 -label "Floating label" foobar.c
associates the "Floating label" string with the most recent revision on the 1.3.1 branch within foobar.c's QVCS archive. As revisions are added to the 1.3.1 branch, the "Floating label" label moves to remain associated with the newest revision on the 1.3.1 branch.
qstamp -duplabel Release1.0 Release1.01 *.*
adds the label "Release1.01" to all QVCS archives containing the "Release1.0" label that are accessible from the current directory. The "Release1.01" label will point to the same file revision as the "Release1.0" label.
Command Line Utilities
See also: QWin's corresponding Label tool.
|