|ClearCase LT||general information|
Nearly every operation that modifies the VOB creates an event record in the VOB database. For example, when you create a new element, attach a version label, or lock the VOB, an event record marks the change.
Event records are attached to specific objects in VOB databases. Thus, each object (including the VOB object itself) accumulates a chronological event history, which you can display with the lshistory command.
In addition, you can do the following:
- Customize event history reports with lshistory –fmt; see the fmt_ccase reference page.
- Scrub minor event records from the VOB database to save space; see the vob_scrubber reference page.
- Assign triggers to many event-causing operations (mkelem, checkout, and mklabel, for example); see the mktrtype reference page.
- Change the comment stored with an event; see the chevent reference page.
Contents of an Event Record
An event record stores information for various operations:
VOB Objects and Event Histories
The following kinds of VOB-database objects have event histories, which you can display with lshistory:
- VOB storage pool
- VOB symbolic link
- Derived Object (no creation event)
- UCM Objects
Each time an object from any of these categories is created, it begins its own event history with a creation event. (Derived objects are an exception; ClearCase stores a DO's creation time in its config record, not in an event record.) As time passes, some objects—VOBs and elements, in particular—can accumulate lengthy event histories.
Do not confuse type objects (created with mkattype, mkbrtype, mkeltype, mkhltype, mklbtype, and mktrtype) with the instances of those types (created with mkattr, mkbranch, mkelem, mkhlink, mklabel, and mktrigger). The type objects are VOB-database objects, with their own event histories. Individual branches, elements, and hyperlinks are also VOB-database objects. However, individual attributes, labels, and triggers are not VOB-database objects and, therefore, do not have their own event histories. Their create and delete events (mkattr/rmattr, mklabel/rmlabel, and mktrigger/rmtrigger) are recorded on the objects to which these metadata items are attached.
Operations That Cause Event Records to Be Written
The following kinds of operations cause event records to be written to the VOB database:
- Create or import a new object.
- Destroy (remove) an object.
- Check out a branch.
- Modify or delete version data.
- Modify a directory version's list of names.
- Attach or remove an attribute, label, hyperlink, or trigger.
- Lock or unlock an object.
- Change the name or definition of a type or storage pool.
- Change a branch or element's type.
- Change an element's storage pool.
- Change the protections for an element or derived object.
If UCM is in use, the following kinds of operations cause event records to be written to the UCM Project VOB (PVOB) database.
- Start, cancel, or complete a deliver or rebase operation.
- Create, change, or remove a project, stream, baseline, or activity.
Table 2 lists event-causing base ClearCase operations as you may see them in lshistory output that has been formatted with the –fmt option's %o (operation) specifier. Note that most operations correspond exactly to cleartool subcommands.
|M||Causes a minor event (see lshistory –minor)|
|T||Can have a trigger (see mktrtype)|
|S||Resulting event records can be scrubbed (see vob_scrubber)|
|C||Generates a comment (see the comments reference page)|
Table 3 lists event-causing UCM operations as you may see them in lshistory output that has been formatted with the –fmt option's %o (operation) specifier. These events are generated only in a PVOB.
Operations and Triggers
Each of the following superoperations represents a group of the event-causing operations listed in Table 2 and Table 3. See mktrtype for information on how to use the following keywords to write triggers for groups of operations.
Table 2 omits the triggerable operations uncheckout and chevent; as these operations do not cause event records to be stored in the VOB database.
This section describes where, directly or indirectly, you may encounter event record contents. The following commands include event history information in their output, which can be formatted with the –fmt option:
Comments and Event Records
The set of ClearCase and ClearCase LT commands in Table 2 matches almost exactly the set of commands that accept user comments as input. (reformatvob, which takes no comment, is the only exception.) When you supply comments to a ClearCase or ClearCase LT command, your comment becomes part of an event record.
Some cleartool commands create a comment even if you do not provide one. These generated comments describe the operation in general terms, such as “modify metadata” or “create directory element.” User comments, if any, are appended to generated comments. For a complete description of comment-related command options and comment processing, see the comments reference page.