The difference between the Keep and
Promote commands highlights an important aspect of the way that AccuRev organizes and manages development data. It also highlights the difference between
backing streams and
workspace streams.
Unlike the commands listed above, the Promote command does not record a change to the contents or pathname of any element. Rather, it makes an existing real version available in a new location: a particular dynamic stream. The version that
Promote creates in a dynamic stream is called a
virtual version; a new virtual version is a pointer to, or alias for, an existing real version in some workspace stream.
The commands Send to Workspace and
Anchor are special. They create a new version in a workspace stream, but the new version is
virtual, not real. Why? It's for consistency with the above descriptions of real and virtual versions: