A Label tags a version of a file or complete folder structure, allowing you to go back later and retrieve the file or folder based on the label name you gave it, rather than having to remember the version number. Fortress’s Labels are similar to Visual SourceSafe labels. Once applied, the label remains associated with the version of the file or folder structure it was labeled at, even as new modifications are made on the original objects.
To activate the Label dialog box, select a file or folder, and then do one of the following:
Select a folder on the Main Window, and invoke the Label command.
Select an individual file or group of files on the Main Window, and invoke the Label command. In the case of multiple selected files, the client will create individual file label requests to the server.
Highlight a historical item from the History Explorer, and invoke the Label command.
You can label any version of a file or folder. In the case of a labeled folder, all sub-items of the folder will be stamped with an “inherited” label tag. Any file or folder can be labeled, including $/.
Labels do not increment the version numbers of the object after application. As such, they do not occur as part of a change set, and always are applied immediately.
The label’s text must be unique regardless of case. This also includes inherited labels. Although a Label’s text must be unique per object, there can be multiple labels associated with one specific version.
When an item is deleted, the label remains, even though you can’t see the labels applied to an item while it is deleted. However, deleted items that had inherited labels applied to them will be retrieved during a Get Label operation on the ancestor, and will be displayed when viewing the label.
For example, if you label $/foo
, then label $/foo/bar
, and
then delete $/foo/bar
, you will not be able to retrieve the label on
$/foo/bar
(because it is currently deleted, and you can’t get any
information on it other than it is deleted). However, getting the label on
$/foo
will retrieve $/foo/bar
as it existed at the time of the
label.
When an item is obliterated, any labels applied directly against that item will be removed from the database. Additionally, the obliterated item will be removed from any inherited labels. A Get on a label will not retrieve obliterated items.
You can label a file that is currently pinned at a previous version and it will be applied to the pinned version, not the current version
You can label a shared file or folder. The label will create the label for the shared object and appear in the history of all shared links.
Because shared items will have labels applied from ancestors of any of its shared links, it is a requirement that label text be unique across all labels applied to any shared item.
Select Show Labels to view labels applied to the currently selected file or folder, including inherited labels that were applied above the file or folder.
From the same dialog you can also view labels that have been applied to items below the currently selected folder (e.g., recursively search the tree from this folder downward to find labels that have been applied to sub-files and sub-folders).
Label Promotion is when you modify the contents of a label. Through Label Promotion, you can change the text of the label as well as the associations of file or folder versions of a specific label.
If the label has been applied to a folder, promotion will allow you to:
Add files found in the current version of the source directory, which do not exist in the label’s folder.
Change versions of current files found in the label’s folders to previous or later versions.
Delete files and sub folders from the label.
Once a label has been promoted, it is no longer associated with a single version of the folder the label was applied to. As such, there are operations that can no longer be performed on the label. These include:
Share
Branch
Pin
Label promotion is accomplished from within the Show Labels dialog.