The QVCS Command Line Utilities

The fifteen QVCS command line utilities are:

qputStores a revision to a QVCS archive. qput can also create a QVCS archive if it doesn't already exist.
qgetRetrieves a revision from a QVCS archive.
qlogDisplays a summary of the revisions contained within a QVCS archive.
qdelrevDeletes revisions from a QVCS archive.
qstampAdds a version label to a QVCS archive.
qunstampRemoves a version label from a QVCS archive.
qlockLocks a revision in a QVCS archive.
qunlockUnlocks a revision in a QVCS archive.
qdiffCompares two files, and or two revisions and displays the differences between them.
qmodhdrModifies the header information of a QVCS archive.
qmodrevModifies information for a specific revision in a QVCS archive.
qidentDisplays any expanded QVCS keywords in a file.
qmergeTakes two separate edits to a single file and merges those edits into a single file.
qeditTakes an edit script produced by qdiff and applies that script to one revision of a work file to produce a different revision of that work file.
qrecurse(QVCS-Pro only) Allows recursive operations when used in conjunction with other command line utilities.

The command line for all QVCS utilities has some common features.

You can re-direct "stdin" (standard input) for those commands that expect input. For example, qput expects you to enter a module or revision description. This may be redirected to read from a file instead of from the keyboard by using:

command <inputfilename .....

where inputfilename is the name of the file containing the file or revision description. Generally, the -comment option provides the same functionality as input redirection, and is more flexible.

Command output may also be redirected using:

command >outputfilename ....

Command Line Switches

Command line options are consistent for all QVCS utilities:

-ais always followed by a QVCS archive attribute definition.
-commentis always followed by a quoted string that may be used for input to the command (to enter a revision comment on the command line, for example).
-dis always followed a date or a date range.
-lalways indicates the "lock" flag.
-proceedindicates to take the default answer to any confirmation questions that a utility may ask. It provides a way to choose the default answer from the command line. Note that sometimes the default answer may result in cancelling out of an operation.
-yesindicates a "yes" answer to any confirmation questions that a utility may ask.
-noindicates a "no" answer to any confirmation questions that a utility may ask.
-qalways indicates the "quiet" flag. This causes QVCS to suppress any normal informative messages.
-ris always followed by a revision number or a revision range.
-labelis always followed by a version stamp (label) that is either a single word, or if multiple words, enclosed with single or double quotes.
-m...all command line options preceded by an 'm' modifier imply the option will cause the QVCS utility to prompt you for modification information. You can supply the needed information on the command line by using the -comment option described above.

Command Line Templates

This section provides a template for the use of each different command line utility within QVCS. Naturally, you will not always use the same combination of command line switches, so a number of aspects are optional. Optional components are enclosed in square brackets []. When you must choose one out of several command line elements, each choice is enclosed in curly braces {} to indicated that one of the choices is required. The vertical bar | character indicates that a choice is allowed among the displayed options.

For example, the qdelrev command line template looks like:

qdelrev {-d DATERANGE}|{-r REVISIONRANGE}|{-label LABEL} [-offset LABELOFFSET] [-proceed|-yes|-no] [-q] filename

Since the -d DATERANGE, -r REVISION, and -label LABEL are enclosed in curly braces, it means that one of them is required. The | means that you enter -d DATERANGE, or you enter -r REVISIONRANGE, or you enter -label LABEL.

The -offset LABELOFFSET is optional, since it's enclosed in [], and the [-proceed|-yes|-no] options and [-q] are also optional. Because they are separated by |, you may enter -proceed or -yes or -no.

The filename is required since it's not enclosed in any kind of brackets.