Glossary

Access ListThe list of users that QVCS allows to modify a QVCS archive. Each QVCS archive has its own access list that's created when the QVCS archive is created. It can be changed with QWin or the qmodhdr utility. The access list must be a valid subset of the QVCS archive's modifier list.
ArgumentA command line argument is one of the words that you type on a QVCS command line. The first command line argument of a QVCS command is the name of the command itself. qget, for example.
AttributeA characteristic which enables or disables a specific QVCS feature for an archive. Each archive has eight associated QVCS attribute settings (set to on or off) which tell QVCS how to treat that file when performing certain operations. For example, each QVCS archive has an attribute which tells QVCS whether or not an entry should be made to the journal file when that archive is modified. QVCS attributes are stored separately for each QVCS archive. You can set both the default attribute settings for a project, and change the attributes of a specific archive.
AuthorFor each revision in an archive, there is an associated author, identifying the person who created that revision. A revision author must be on the QVCS archive's access list. A revision's author can be changed through QWin or with the qmodrev utility.
BranchA separate series of revisions that begin from an existing revision closer to the trunk (the main path of development). Branching allows the development of a file to fork or split into multiple separate paths at a given branch point. Revisions on a branch are identified by more than a single major.minor revision pair: 1.3.1.2, for example, is the second revision on a branch that uses revision 1.3 as its branch point. See the section on branching for more information.
Comment PrefixA short string of characters that appears before each line of revision information when QVCS expands the $Log$ or $LogX$ keyword in the work file. The purpose of the comment prefix is to ensure that these lines appear as comments to whatever editor you may use, rather than code that doesn't compile correctly. You can change the comment prefix for an archive using QWin or the qmodhdr utility.
Default BranchThe branch within a QVCS archive that QVCS commands will use by default. Unless you change it, this defaults to the trunk. You can change the default branch using the File→Modify Archive→Default Branch dialog, or with the qmodhdr utility. When changed, QVCS will use the tip revision of the new default branch as the default revision to act upon unless otherwise indicated.
Default RevisionThe tip revision on the default branch, and the revision that QVCS will act on "by default." If no other revision information is specified, QVCS will perform an operation on the default revision. For example, the revision automatically selected in the Get File dialog will be the "default revision." Further, project-level operations always act upon the default revisions of the applicable archives.
DeltaThe differences between two separate revisions of an archive. When QVCS stores revisions, it stores only the delta for all revisions save the most recent. In this way, it keeps track of only how each revision differs from the revision immediately following.
File GroupsA file group is a set of file extensions for which you typically have a set of files sharing the same name but different extensions. For example, in C++, it is typical for the class header file and the class implementation file to share the same name: the headerfile might be foo.h, and the associated class file foo.cpp. If you create a file group containing the .h and .cpp extensions, then QVCS will be able to perform version control operations on both foo.h and foo.cpp even if you select only one of the two files. For example, checking out the .cpp file will automatically check out the associated .h file. You can define file groups from the QWin toolbar.
Floating LabelA label which is always associated with the newest revision of the branch to which it is applied, rather than being anchored to one particular revision. If you apply a floating label to a trunk revision, then that floating label will move whenever a new revision is added so that it always points to the newest trunk revision. If a floating label is applied to a branch, then it will always point to the tip revision on that branch. You can apply floating labels with QWin's Label File dialog, within the Check-in or Add dialogs, or with the corresponding command line utilities qstamp and qput.
HeaderA QVCS archive header contains the information which pertains to the archive file itself, rather than to any of its revisions. This includes the access list, owner, and module description, as well as a number of other attributes. In QWin, the header information can be altered using the Modify Archive dialogs. On the command line, you can use the qlog utility to display header information, and the qmodhdr utility to change it.
Journal FileThe file that QVCS utilities use to record any changes made to any QVCS archives that have journaling enabled. Each journal entry names the QVCS archive modified, the author of the change, the date and time of the change, and the command used to make the change. The journal file is a text file that QVCS writes to; QVCS never reads from the journal file. It is meant to provide a human readable history of QVCS operations. The journal file name defaults to qvcs.jou and can be changed through the Project Settings dialog.
JournalingThe process of adding records to a QVCS journal file. Journaling records changes to QVCS archives so that you can have one place to look for a history of changes made to project files in a given directory. Journaling is enabled through each QVCS archive's JOURNALFILE attribute.
KeywordA string you can embed in a controlled file which QVCS can recognize and translate into meaningful information. If the EXPANDKEYWORDS attribute is enabled, QVCS will expand keywords when retrieving a revision so that the resulting work fill will contain up-to-date information about the revisions maintained by QVCS. This allows you to embed relevant information about the QVCS archive within its associated work file. All QVCS keywords begin and end with the $ character.
LabelA string associated with a specific revision within a QVCS archive. Labels are typically used to mark the revisions from various archives that compose a particular product release so that all these revisions are associated with one another. This allows the developer to reconstruct that release at some later date, even as newer revisions are added to the QVCS archives that compose the project. It also allows operations to be performed on the basis of a particular label. Labels are applied with QWin's Label File dialog, within the Check-in or Add dialogs, or with the corresponding command line utilities qstamp and qput.
LockThe process of obtaining exclusive update access to a revision within a QVCS archive. When you get a "lock" on a QVCS archive revision, you are the only one allowed to modify that revision of that QVCS archive. Only someone who holds a lock on an archive can add a new revision to that archive. You can lock a file in QWin using either the Lock File or Check-out dialogs. On the command line, you can use either qlock or a locking qget.
LogfileSynonymous with QVCS archive.
MergeThe process by which separate sets of edits to a single file can be merged into a single file. Merging can be performed using the qmerge utility. See the Advanced Tutorial for a more in-depth explanation of how to use merging.
Modifier ListThe list of individuals who have ever modified or had access to a given QVCS archive. Each QVCS archive contains a modifier list. Once defined, you can only add to the QVCS archive's modifier list. You cannot remove someone from the modifier list without deleting the QVCS archive. On the command line, you can add to this list using the qmodhdr utility.
ModuleIndicates fields associated with an entire QVCS archive rather than a specific revision. This usually means the module owner (the person who created the archive), the module description (a description of the file itself), and the access list.
OwnerThe owner of a QVCS archive file (the person who originally created the QVCS archive). The module owner can be changed using the File→Modify Archive→Author dialog or the qmodhdr utility.
PATHPATH is an environment variable which defines a set of paths to directories where executables may be found. In Windows, you can access the PATH variable through the Control Panel's System controls (it may be under Performance and Maintenance, depending on your viewing options). From the System controls, you should find Environment Variables on the Advanced tabs.
Project SettingsThose settings in qwin.ini that set the default attributes for new QVCS archives created within the current project, and how QVCS will locate the files for the current project. Most project settings are defined with the creation of a project and can be altered using the Project→Edit Settings... dialog.
Project TreeThe display on the left pane of the window which lists the various projects you have defined within QVCS. All projects are shown as subdirectories of the QVCS Projects node. The project tree behaves like a typical directory hierarchy. Any project containing subdirectories can be expanded.
QVCS ArchiveFor each work file under QVCS version control, there is a single associated QVCS archive file. This is the file where QVCS stores all the information about whatever revisions are made to the work file. You never work directly with the QVCS archive file; QVCS maintains it independently. An archive file is created when you add a file to the project. It is altered with each revision you check in to the archive and whenever you change fields or attributes specific to that archive.
Reference FileA reference file is simply a copy of the latest revision stored in a QVCS archive. Reference copies are stored separately from work files and QVCS archive files, and having them is entirely optional. If you define a location for QVCS to store reference files in a project's settings, then QVCS will create and update a set of reference files for that project. Otherwise, no reference copies will be created.
RevisionA revision is essentially a snapshot of a file that is stored within a QVCS archive. Typically you would add a new revision to an archive each time you made some changes, thus making a record of the evolution of the file with each revision representing a different stage in its progression. A revision is known by its revision number, for example, 1.0, 1.1, 2.1, 1.1.1.2 etc. Revisions are added to an archive using the Check-in File dialog or with the qput command line utility. Revisions are the basic elements which QVCS stores.
Switch(i.e., on the command line) A command line switch is a command line argument immediately preceded by the - character. A switch is essentially an option associated with the given command. You use command line switches to specify or alter the behavior of QVCS command line utilities.
Tip RevisionThe newest revision on either the trunk or a given branch. A QVCS archive will have as many tip revisions as there are separate branches within the QVCS archive; one tip for each branch, and a tip revision for the trunk. When you add a revision to an archive, it becomes the new tip revision on its branch.
TrunkThe main development path of a QVCS archive, which comprises those revisions not on a branch. The trunk begins with the initial 1.0 revision, and all trunk revisions can be described with just a single major.minor revision pair: e.g., 1.1., 1.2, 2.1, etc.
VersionSynonymous with label.
Work FileAny file that you can work on. Since QVCS archives are binary files, in order for you to do anything useful with a revision stored in a QVCS archive, you must first retrieve that revision into an associated work file. This is the file which you directly alter and maintain with the appropriate editor outside of QVCS. Once you've made your changes, you store that information from the work file back into the archive. Work files under version control may be write-protected if you haven't checked out a revision from the associated QVCS archive.

Some work file always exists prior to its associated QVCS archive, though if you work in a development team, it may be that only one person possesses this work file before the creation of its archive.