How snapshot views are updated

An update operation copies versions of elements from a VOB to your view. (Only the checkin operation copies changes from your view back to a VOB.)

When you start an update operation, the version of the elements loaded in the view is compared with the version that the stream or config spec selects in the VOB. If the stream or config spec selects a version in the VOB that is different from the version loaded in your view, the version from the VOB is copied into your view. If a version is currently checked out to the view, the comparison is not made and the version is not otherwise modified. (See the figures below.)

On Linux and UNIX systems:

A VOB contains element prog.c that has a main branch with versions 0, 1, 2 and 3. Version one is the version loaded in your view. Version two is the version in the VOB that the config spec selects. An arrow pointing from version three indicates the version that is now loaded into your view. The cleartool command ls -l ~/pat_v1.4_cropcircle_sv/guivob lists the version selected in the view.

On Windows® systems:

A VOB contains element prog.c that has a main branch with versions 0, 1, 2 and 3. Version one is the version loaded in your view. Version two is the version in the VOB that the config spec selects. An arrow pointing from version three indicates the version that is now loaded into your view. The Details pane of HCL VersionVault Windows Explorer or Windows Explorer lists the version selected in the view.

Elements may be unloaded from your view if the stream or config spec no longer selects the element.

The update operation accounts for the fact that updates are not instantaneous. As your view is updated, other developers may check in new versions of elements that the load rules for your view select. To avoid loading an inconsistent set of versions, the update operation ignores versions in the VOB that meet both of the following conditions:

  • The version was checked in after the moment the update began.
  • The version is now selected by a config spec rule that involves the LATEST version label.

The update adjusts for the possibility that the system clocks on different hosts in a network may not be synchronized (that is, clocks are skewed).