Resources are versioned in order to capture a snapshot of the current state of the resources at one specific point in time.
A base version of a resource represents the resource version that was last added to the workspace.
Enabling the Show Version Info... menu item in the Navigator or Packages view displays the base version of each released file.
Resources other than projects (i.e. files and folders) cannot be explicitly versioned. However during synchronization these types of resources are implicitly versioned when they are released to the stream.
Versioning a project save the line-up of all resource versions in the project. The difference between versioning from the workspace or from the stream is in deciding which child resource versions should be part of the project version.
When versioning a project from the workspace, the base version of the resources in the workspace are captured
as part of the project version. This is the preferred method of versioning a project because you know exactly
which resource versions will be in the project version.
This operation is allowed if you have outgoing changes or unreleased changes. Unreleased changes
are simply ignored and resources with outgoing changes can still have their base versions
be part of the project version. Versioning a project with unreleased or outgoing changes is
handy if you have to split the project at the point where you started making changes to the resources and release
the resources to another stream.
When versioning from the stream you are versioning what ever the latest
resource versions are in the stream at that moment in time. You should not
version your projects from the stream if you don't know what is released in the stream. For this reason, versioning from the workspace is often preferable.
Take for example the case where you want to version a project in a stream even if you don't have it loaded.
You are merging changes made on streamB into streamA and your project is shared with the streamA, and not streamB. To version the project in
streamB with a version name like "merged_on_may_28", you would version the stream contents,
not the contents of the Workbench. Of course, since some repositories do not support locking of streams, you
need to ensure that nobody else releases into streamB concurrently. You can do this
by using social protocols.
In this dialog, you can choose the version labels for the projects you are versioning. You can only choose the version label for the project level; resources are versioned when released.
Here is what the Version Selected Resources dialog looks like:
Versions each project with an automatically generated label. This is the default option.
Versions each project with the label specified in the text area.
You can specify the name of each project you are versioning.
Here is the dialog you will be presented with for each project when choosing this versioning option:
Details Button
The details button shows all existing versions.
Version labels must meet the following criteria:
Note: Periods are not allowed in CVS version labels. It is suggested that you use dashes or underscores instead.
If you select Automatic version labeling format, the following "guessing" schema is used to assign version labels.