Dynamic views

A dynamic view is an MVFS directory that enables dynamic access to VOB elements.

Dynamic views contain nearly all the artifacts created during the software development process, whether or not they are under HCL VersionVault control. These artifacts include the following:
  • Selected versions of elements (actually stored in VOB storage pools)
  • Files that are being modified (checked-out file elements, stored in the view's private storage area)
  • Directories that are being modified (checked-out directory elements, maintained in the VOB database)
  • Shareable and unshared derived objects built by users who work in the view (stored in the view's private storage area) and configuration records that describe these derived objects
  • Shared derived objects built in another view and winked in to this view (stored in VOB storage pools)
  • View-private objects: miscellaneous files, directories, and links that are not under HCL VersionVault control and are displayed only in this view (stored in the view's private storage area).

View-private storage

Subdirectory .s of the view storage directory is the root of a subtree that implements the view's private storage area. On platforms running Linux or the UNIX system, .s can be either a local directory or a symbolic link to a directory on another computer running Linux or the UNIX system or a network-attached storage device.

The private storage area holds several kinds of objects:
  • View-private objects. A view-private object is an ordinary file-system object, such as a file, directory, or link, contained in a view. View-private objects exist only within the view's private storage area and are not stored in a VOB.
    Note: In a dynamic view on Linux or on the UNIX system, you cannot create any of the special file types supported on these operating systems (sockets, named pipes, character device files, or block device files).
  • Checked-out versions. A checked-out version is an editable copy of a version of an element in a VOB. A checked-out version is very similar to a view-private file, except that there is a corresponding object in the VOB: a placeholder version with the special CHECKEDOUT version label.
  • Unshared derived objects. An unshared derived object (DO) is a data container created by clearmake, omake, or any program invoked by clearaudit. When the DO becomes shareable, a corresponding DO is created in the VOB.
    Note: Even after the DO becomes shared, a copy of it remains in the view's private storage area. DOs can use a great deal of disk space and should be scrubbed when they are no longer needed. For more information, see the winkin and view_scrubber reference pages.
  • Nonshareable derived objects. A nonshareable derived object is a data container created in a dynamic view by clearmake, omake, or any program invoked by clearaudit. No information about the DO is stored in the VOB database. When you use winkin or view_scrubber –p to convert a nonshareable DO to a shareable DO, the command promotes the DO's data container to the VOB, and removes the data container from view storage.
  • Configuration records. The file view_db.crs_file in the .s subdirectory stores the configuration records of derived objects built in the view.
  • Stranded files. The directory lost+found in the .s subdirectory contains stranded files. A file becomes stranded when there is no VOB pathname through which it can be accessed. For example:
    • A VOB can become temporarily unavailable, for example, by being unmounted.
    • A VOB can become permanently unavailable, for example, by being deleted.
    • A VOB directory can become permanently unavailable when it is deleted with a rmelem command.

For more information about recovering stranded files, see the recoverview reference page.

View database

The view database subdirectory, db, contains these files, all of which are created and modified by HCL VersionVault commands and must never be modified in any other way:

view_db.dbd
A compiled database schema, used by embedded database routines for database access. The schema describes the structure of the view database.
view_db_schema_version
A schema version file, used by embedded database routines to verify that the compiled schema file is at the expected revision level.
view_db.d0n view_db.k01
Files in which the database contents are stored.
vista.*
Database control files and transaction logs.
view_db.crs_file
Stores the configuration records of nonshareable and unshared derived objects. This file resides in subdirectory .s of the view storage directory, allowing it to be remote.

Compressed copies of the configuration records are cached in a view-private file, .cmake.state, located in the directory that was current when the build started. These copies speed configuration lookup during subsequent builds in the view.

The view database keeps track of the objects in its private storage area: view-private objects, checked-out versions, nonshareable derived objects, and unshared derived objects.