Variation #2: Reference Tree

Sometimes, you don’t need to create any new versions — you just need the files. For example, you might want a complete set of your product’s source files in order to test the speed of a new compiler.

For such “just the files” purposes, you can create a reference tree instead of a workspace. A reference tree instantiates a stream or snapshot, but doesn’t provide any mechanism for creating new versions. Thus, you can’t use the keep or promote commands when working in a reference tree. You can use the update command, though. Here’s a typical scenario:

  • Create a reference tree named nightly, based on stream gizmo_dvt.
  • Each night, perform an update of the reference tree. This retrieves new copies of the files for which new versions appeared in the gizmo_dvt stream that day.
  • After the update is complete, build the Gizmo software application using the updated sources.

You can think of a reference tree as a read-only portal to the AccuRev data repository (in contrast to a workspace, which is read-write).