The principal purpose of an AccuRev workspace is to provide an isolated location for performing development tasks. The changes you make do not affect your colleagues until you decide to make them public, using the
Promote command. Likewise, the changes that others make do not immediately affect your workspace. You must execute an
Update command to bring versions created (and then promoted) by your colleagues into your workspace.
You invoke the Update command in the File Browser, using the
File > Update command or a button above the Workspace Explorer.
Tip: Prior to executing the
Update command, use Incoming Changes mode (

) to see what the Update will do. See
Incoming Changes Mode for more information.
At its simplest, an update just copies versions of some file elements from your workspace's backing stream into the workspace. For example, your colleagues may have edited the contents of files colors.java and
main_menu.java, created new versions of them in their workspaces, then promoted the versions to the common backing stream. When you invoke
Update, the new versions of those two files are copied from the depot to your workspace, overwriting the older versions of the file.
AccuRev tracks namespace changes in the same way as content changes -- by saving each change as a new version in your workspace. If you Rename file
colors.java to
colours.java, the change is recorded as a new version of the file. Changing the name again, to
hues.java, creates another new version.
Similarly, defuncting file rgb.java creates a new version of the file in your workspace.
The basic Update strategy is to leave the files you're working on undisturbed, and to copy any new versions of other files into the workspace. This enables the workspace to provide the safety of isolation, while still "keeping in touch" with other users' progress.
Roughly speaking, Update partitions the files in your workspace tree into two categories, to determine which are candidates for updating:
In many cases, no one else has been working on those files. If no new versions of the (modified)-status files have been created in the backing stream since your most recent
Update, the update proceeds, leaving those files alone.
But suppose one or more of the files does have a new version in the backing stream. In this case, the file's status is
(modified)(overlap).
Update won't simply overwrite the file with the backing-stream version, but it can attempt to merge the file with the backing-stream version:
Update next applies both content changes and namespace changes to elements in the workspace:
After AccuRev has completed updating versions in the workspace, the workspace is "up to date as of transaction N ";
N is the workspace's update level. The higher this value, the fewer transactions your next invocation of
Update will need to examine, in order to determine which elements need to be updated.