File Browser: Working in the Details Pane
Performing Operations in the Details Pane
Following Through by Promoting the Changes
Following Through by Undoing the Changes
Deleting a File -- Accidentally or Temporarily
Deleting a File -- Intentionally and Permanently
Incorporating Others' Changes into Your Workspace
This topic discusses the tasks that you'll probably perform most often with AccuRev -- working with elements in the Details pane of the File Browser.
The Details pane displays the contents of a particular directory (folder) if you've made a selection in the Folders pane, or the set of objects resulting from a search that you've selected in the Searches pane.
The display includes several columns of information. You can control which columns are displayed: right-click any column header and choose Format Columns from the context menu:
The Details pane columns are (click to view):
The name of the object, either a file or a directory, in this workspace or stream. AccuRev allows you to rename and relocate objects, so a file might have a different name and/or a different directory location in another workspace or stream.
When the Details pane is displaying the contents of a single folder, the Name column shows the name of each object in the folder. The highlight in the Folders pane indicates which folder is being displayed.
When the Details pane is displaying the results of a search An operation that determines all the elements in a workspace or stream that have a particular status. through the entire workspace or stream, a user preference controls whether element pathnames are displayed as a single column (Element) or two columns (Name and In Folder).
One or more keywords that indicate the AccuRev status The state of an element, from a version-control perspective, in a particular workspace or stream. of the element in this workspace or stream.
See also:
A version-ID The unique identifier for a version, consisting of two parts: (1) the name or number of the stream in which the version was created; (2) an integer. Examples: talon_dvt_mary/14, 245\19. that indicates the version of the element that currently appears in this workspace or stream.
Workspace: If you have modified an element, but not yet promoted it to the backing stream, the version-ID indicates a version in the workspace stream The private stream that is built into a workspace. All new versions of elements are originally created in workspaces; AccuRev records these versions in workspace streams.. These are described as " active An element is said to be active in a workspace or stream if a new version of the element has been created there, and that version has not been either (1) promoted to the parent stream or (2) purged from the workspace or stream. See default group, backed, passive. elements", or as "members of the workspace's default group The set of elements that are currently active in a particular workspace or stream.". For inactive elements (those you haven't modified or activated with Anchor or Send to Workspace), the Version column indicates a version from some higher-level stream, which your workspace stream inherits The facility by which versions in higher-level streams automatically propagate to lower-level streams. If an element is not currently active in a stream or workspace, the stream/workspace inherits the version of the element that appears in its parent stream..
If this column is blank, the file or directory has not been placed under version control The discipline of keeping track of the changes made over time to a file or directory.. Such objects have the status external.
Stream: If the element is currently active An element is said to be active in a workspace or stream if a new version of the element has been created there, and that version has not been either (1) promoted to the parent stream or (2) purged from the workspace or stream. See default group, backed, passive. in the stream (is in the stream's default group The set of elements that are currently active in a particular workspace or stream.), the version-ID includes the name of this stream. Otherwise, the version-ID includes the name of the higher-level stream from which this stream inherits the version.
File element: the element type The kind of data stored in versions of a file element. Different versions of the same element can have different element types. of this version of the element: text, ptext, or binary.
Directory element: the keyword dir.
Link element: the keyword link.
The element-ID The unique, immutable integer identifier by which AccuRev tracks the changes to a particular file element or directory element. An element's name or pathname can change, but its element-ID never changes. of the element.
A date-timestamp, indicating the last time this element was modified. In a workspace, this is the same as the timestamp reported by the operating system for the object in the workspace tree The ordinary directory tree, located in the users disk storage, in which the user performs development tasks and executes AccuRev commands..
The size of this version of the file (or the file version referenced by this version of an element link (or element-link element) An element whose contents is a pointer to another element, which must be in the same depot. The target element can be a directory element, a file element, another element link, or a symbolic link. or a symbolic link (or symbolic-link element) An element whose contents is a pathname. The pathname can point to AccuRev data (that is, a location inside a workspace) or non-AccuRev data.). The size of a directory is reported as "0KB".
Either parallel or serial, indicating the element's current development mode. See File Locking.
Several options provide fine-tuning over which elements are displayed in the Details pane, and affect which keywords appear in the Status column:
(Workspace only) Controlling the display of external objects
(Workspace only) Controlling the determination of (modified) status
Switching in and out of include/exclude mode also changes which elements are displayed in the Details pane.
Working with elements in the Details pane follows this pattern:
Select one or more files and/or directories.
Invoke an AccuRev command, either:
... by clicking one of the File Browser's toolbar buttons, or
... by right-clicking a selected object and choosing a command from the context menu, or
... by choosing a command from the submenu of the GUI window's main menu.
The file-selection gestures are the same ones used by Windows Explorer:
To select a file, click it with the left mouse button.
To select a contiguous range of files, click-and-drag with the left mouse button.
To select all the files in a directory, select any one of them, then press Ctrl-A.
To add or subtract a file from an existing selection, hold down the Ctrl key and click that file with the left mouse button.
To extend an existing selection to a particular file, hold down the Shift key and click that file with the left mouse button.
Typing a character selects the next file or directory whose name begins with that character (if the Details pane listing is sorted on the Name column).
As a version control system, AccuRev keeps track of changes that users make to files and directories. The following sections describe common usage scenarios, showing how AccuRev change-tracking is reflected in the File Browser's Details pane: in changes to the status of objects, and in creation of new versions of objects.
Following Through by Promoting the Changes
Following Through by Undoing the Changes
Deleting a File -- Accidentally or Temporarily
Deleting a File -- Intentionally and Permanently
Incorporating Others' Changes into Your Workspace
Merging Your Changes with Someone Else's Changes
Perhaps the most common scenario is "non-conflicting development": modifying a file that no one else is working on concurrently. Initially, the Status column in the Details pane shows the file's status as (backed): your workspace contains an unmodified copy of a version in the backing stream. The Version column contains a version-ID, indicating which backing-stream version it is:
Invoke the Edit command on the file, using the toolbar button or the file's context menu. This launches a text editor session on the file. You can use environment variable AC_EDITOR_GUI or EDITOR to control which text editor is launched.
When you end the edit session, the file's status changes to (modified). This indicates that you've modified the file in your workspace since the last time you synchronized the file in your workspace with the depot, for example with a Keep or Update command. (That is, you've changed the file in the workspace tree The ordinary directory tree, located in the user's disk storage, in which the user performs development tasks and executes AccuRev commands., but not the element in the workspace stream The private stream that is built into a workspace. All new versions of elements are originally created in workspaces; AccuRev records these versions in workspace streams..)
You can edit the file as many times as you wish. The file's status remains (modified). To have AccuRev record a new version of the file, invoke the Keep command on it. If you wish, enter a comment in the dialog box that appears. The comment string becomes a permanent annotation to the version, viewable with the History Browser.
The Keep command creates a new version of the file in the workspace stream. This version is said to record a content change A change to the contents of a file element, recorded in a new version created with the Keep command. For a symbolic-link element, a change to the target pathname is a content change. For an element-link element, a change to the target element is not considered a content change to the link. See namespace change. to the file. The File Browser also has commands for performing namespace changes A change to the pathname of a file or directory element: either renaming the element in place or moving the element to a different location in the depots directory hierarchy..
The file's status changes to (kept)(member); this indicates that you've recorded a new version, and that the file is currently active An element is said to be active in a workspace or stream if a new version of the element has been created there, and that version has not been either (1) promoted to the parent stream or (2) purged from the workspace or stream. See default group, backed, passive. An issue record is said to be active in a workspace or stream if the head version of one or more of its change package entries is in the stream's default group. in your workspace (is a member of the workspace's default group The set of elements that are currently active in a particular workspace or stream.).
The Version column shows the version-ID of the newly created version. Note that this version is recorded in your private workspace stream (in this example, talon_dvt_john); previously the Version column indicated that your workspace contained a version from the public backing stream (talon).
You can continue modifying the file with the Edit command, and saving new versions in the depot with the
Keep command. The file's status will alternate between (modified)(member) and (kept)(member). The persistence of the (member) indicator reflects the fact that the file remains active in your workspace until you promote your changes to the backing stream or undo your changes.
In addition to tracking changes to the contents of files, AccuRev tracks namespace changes: A change to the pathname of a file or directory element: either renaming the element in place or moving the element to a different location in the depots directory hierarchy.
To rename an element within the same directory, invoke the Rename command. You can't use this command to rename (external) objects.
To move a file to a different directory in the depot, right-click the file and select Cut from the context menu. Then right-click the destination directory in the Folders pane (not the Details pane) and select
Paste from the context menu. You can cut-and-paste a multiple-file selection in the same way.
You can also use the Rename command to move a file to a different directory; specify a relative pathname (such as ..\otherdir\myfile.c ) as the new name for the file.
AccuRev records a namespace change to a file in the same way it records a content change: by creating a new version of the file in the workspace stream.
As with a content change, the file's status changes to (kept)(member). Making a namespace change to a file activates it -- creates a new version in the workspace stream and makes it a member of the workspace's default group -- just like Keep'ing a content change.
You can also rename and/or move a directory.
Notes (click to view):
Status of a renamed file element: a special case
If the file also has content changes that have not yet been saved with Keep, the status becomes (modified)(member).
After you rename an element, you are free to create a new element with the old name. If you do so, and then you decide to discard your renaming of the original element (Revert to Backed command), then the original element disappears from your workspace. [more]
Initially, the content changes and/or namespace changes you make to a file are recorded only in your workspace's private stream. This keeps your work isolated from your colleagues' work. When you're ready to share your changes to a file with your colleagues, you Promote the active version from your workspace stream The private stream that is built into a workspace. All new versions of elements are originally created in workspaces; AccuRev records these versions in workspace streams. to the backing stream (parent stream, basis stream) The stream that is just above a given workspace or stream in a depots stream hierarchy. The given workspace/stream inherits versions from the backing stream.. This makes your changes available to all workspaces that are based on the same backing stream.
Note how the version-ID in the Version column changes:
Before the promotion, it indicates the particular version of the file that is active in your workspace (in this example, version talon_dvt_john\5 ).
After the promotion, it indicates that version's newly created version-ID in the backing stream (in this example, talon_dvt\8).
Having been promoted to the backing stream, the file is no longer active in the workspace (is no longer in the default group of the workspace stream). Accordingly, it loses its (member) status and returns to being (backed) -- its original status before you started working on the file. That is, the workspace returns to "inheriting" the version of the file currently in the backing stream -- which happens to be the version you just promoted there!
Notes (click to view):
Combining the Keep and Promote commands
Inevitably, you sometimes decide not to share your changes to a file with your colleagues -- instead, you decide to discard the changes altogether. The Revert to Backed command undoes all the content and/or namespace changes you've made to an active file. The file's status reverts to (backed), and your workspace "rolls back" to using the version that it contained the last time the file's status was (backed). It might be a version that you brought into your workspace with a recent Update command; or it might be a version that you created in your workspace, then Promote'd to the backing stream.
Notes (click to view):
If your changes to a file included renaming it or moving it to a different directory, invoking Revert to Backed causes the file to disappear from its new location and return to its original pathname.
Variant command: Revert to Most Recent Version
The variant command, Revert to Most Recent Version, is useful if you've modified a file's contents repeatedly, creating one or more intermediate versions in your workspace with the Keep command. Revert to Most Recent Version discards any content changes you've made since the most recent Keep. The file's status reverts from (modified) to (kept). The file remains active in the workspace, so it retains its (member) status.
In addition to tracking changes to files, as discussed in the preceding sections, AccuRev tracks changes to directories. AccuRev's model for directory-level changes is simple, but somewhat different from the model used by the operating system (and by some other version-control systems). AccuRev considers the following to be changes to a directory:
Renaming a directory
Moving a directory to another location in the depot's directory hierarchy
Deleting a directory
The following are not changes to a directory:
Creating a new file (it's a change to the file itself)
Renaming an existing file (it's a change to the file itself)
Deleting a file (it's a change to the file itself)
Note that it is only changes involving a directory's pathname that are considered to be changes to the directory itself. Changes to a directory's contents are not considered to be changes to the directory itself.
You change a directory's pathname in the same way you change a file's pathname -- with the Rename command or with Cut and Paste commands. When you make such a change, AccuRev records a new version of the directory in the workspace stream.
The new version-ID appears in the Version column of the Details pane (in this example, talon_dvt_john\2). And the directory's status changes to (kept)(member) -- just as it does for a file's namespace change.
An AccuRev workspace tree is an ordinary directory tree, typically located on your machine's hard drive. Nothing prevents you (or perhaps, some rogue cleanup script) from using operating system commands to delete one or more of the files under version control. On occasion, you may even want to delete some files temporarily -- for example, to test the robustness of your build or installation procedure.
By definition, deleting a file at the operating system level makes it disappear from disk storage. Operating system tools, such as Windows Explorer or the Unix ls command, will detect that the file no longer exists. But the file does not disappear from the File Browser display. AccuRev knows that the file should be in the workspace, because the file element still exists in the workspace's built-in stream. (The workspace stream is located in the AccuRev depot. It's unaffected by the operating system's delete-file commands.)
Accordingly, when a version-controlled file is deleted at the operating system level, the File Browser continues to list it, but indicates the file's status as (missing).
Note that the Version column continues to indicate which version of the file should be in the workspace. To restore that version, invoke the Populate command from the missing file's context menu.
Deleting a directory at the operating system level is similar to (but potentially more destructive than) deleting a file. The entire directory subtree is deleted from disk storage, and the directory is listed by the File Browser as (missing). To recover the entire directory tree, invoke the Populate command from the directory's context menu. Be sure to select the Recursive option from the Populate dialog.
Sometimes, you want to delete a file permanently (see note). That is, you want the file to disappear from your workspace, and from other users' workspaces, too. The file might be related to a product feature that was cancelled. Or perhaps a code reorganization rendered the file unnecessary.
Deleting a file at the AccuRev depot level (rather than simply at the operating system level) is called defuncting A particular kind of change to an element in a workspace or stream: that the element is to be deleted. The element disappears from the workspace or stream. Somewhat counter-intuitively, it also becomes active in the workspace or stream, because defuncting is a change that can be promoted to the parent stream (or can be undone with a purge operation). A defunct operation is originally recorded as a new version of the element in some workspace. Promoting this version up the stream hierarchy causes the element to disappear from the higher-level streams., and is implemented by the Defunct command.
Defuncting a file removes it from the workspace's disk storage (that is, deletes the file at the operating system level). In addition, the Defunct command is recorded in the depot. It may be surprising at first, but AccuRev manages the defuncting of a file in the same way as it manages the creation of new versions. To AccuRev, defuncting is just another kind of change that can happen to a file:
Defuncting "activates" a file in the workspace stream, recording the fact that you've made a change to the file. In addition to getting (defunct) status, the file gets the (kept) and (member) statuses, just as if you had performed a Keep command.
AccuRev records the change as a new version of the file in the workspace stream (in this example, version talon_dvt_john\10).
At first, the defuncting of a file is isolated to your own workspace. The file continues to exist in other users' workspaces.
To "share" the defuncting of a file, you Promote the change to the backing stream. This causes the file to disappear from your workspace stream, and from the File Browser display. The file will disappear from other users' workspaces when they invoke the Update command.
As always, you propagate the change -- in this case, removal of the file -- throughout the depot by promoting the defuncted file from the backing stream to the depot's higher-level streams.
Notes (click to view):
Defuncting isn't really permanent (and the file isn't even really gone)
The Defunct command does not actually remove the file element from the AccuRev repository. Because AccuRev is TimeSafe, old versions of the file continue to exist in the repository. You can see such versions in snapshots A immutable (frozen, static) stream that captures the configuration of another stream at a particular time. A snapshot cannot be renamed or modified in any way. of streams, in History Browser The AccuRev GUI tool that displays the set of transactions that affect a particular data structure: depot, stream, file, etc. displays, etc. You can restore such elements with the CLI command undefunct.
As you and your colleagues make changes to a project 's code base, the contents of your private workspaces diverge more and more. It's a software-development best practice to periodically incorporate others' changes into your workspace, effectively resynchronizing the workspaces (partially or fully). The Update command performs this task, by copying versions that your colleagues have Promote'd to the backing stream into your workspace.
This is an oversimplification. For some elements, you must use the merge operation to incorporate other's changes into your workspace. For a complete discussion of the update operation, see Updating a Workspace.
AccuRev supports concurrent development: two or more users can start with the same version of a file and make changes to that file independently -- both content changes A change to the contents of a file element, recorded in a new version created with the keep command. See namespace change. and namespace changes A change to the pathname of a file or directory element: either renaming the element in place or moving the element to a different location in the depots directory hierarchy.. After one of the users Promote's his changes to the backing stream, each of the others must Merge her own changes with the newest version in the backing stream, using the Merge tool. We describe here how to initiate a merge operation.
As you work on a file, Keep'ing intermediate versions in your workspace, the file's status alternates between (modified) and (kept). At any point, you may notice that an additional indicator, (overlap), appears in the Status column. To make sure you notice, the File Browser displays the entry with a yellow highlight.
This means that a new version of the file has been promoted to the backing stream. Typically, one of your colleagues has edited the file and promoted her version to the backing stream. It may also be that someone has promoted a new version of the file to a higher-level stream, and the backing stream dynamically inherits the new version "from on high".
Whenever a file's status is (overlap), the Merge command is enabled. The execution of a Merge command concludes with the Keep'ing of a new version in your workspace.
In this example, the Merge involved incorporating a namespace change: the file's name has changed from report_writer.pl to reporter.pl. When you Promote this merged version to the backing stream, the file's status returns to (backed).
Notes (click to view):
The status (underlap) is similar to (overlap), in that an element has changed in your workspace and also in the backing stream. With (underlap), the changes in your workspace version have already been promoted to the backing stream (from another workspace, or from a stream elsewhere in the depots stream hierarchy). You can resolve an underlap in the same way as an overlap -- by merging and promoting. But in many cases, it is more appropriate to use the Revert to Backed command to undo the changes in your workspace.
You can invoke the following commands from the Details pane toolbar or the context menu of a selected file or directory. Some of the commands operate on a multiple-element selection. Other commands are available from the Folders pane toolbar.
Only a subset of these commands are available when the File Browser is in include/exclude mode.
Go to root
Have the Details pane display the contents of the depot's (and workspace's) top-level directory.
Up one level
Have the Details pane display the contents of the current directory's parent.
If the current directory is the target of a directory link, this command switches to the target's parent, not to the directory containing the link.
Open (equivalent to double-click)
File: Windows: run the appropriate command on the file, according to its file type. [note ] Unix: open a text editor on the file.
Directory: have the Details pane display the contents of the directory.
Element link or symbolic link: this command operates on the target of the link.
View
(text files only) Open a text editor on a temporary copy of the currently selected file.
Link to a file element: this command operates on the target of the link.
Save As
Copy the currently selected file or directory to another location. The entire subtree below a directory is copied.
Element link or symbolic link: this command operates on the target of the link.
Edit
Open a text editor on the currently selected file. (Select exactly one file before invoking this command.)
The File Browser automatically updates the file's status indicators after an edit session. If you have changed the file's contents, AccuRev automatically includes the (modified) status indicator in the Status column. [note ]
Link to a file element: this command operates on the target of the link.
Add to Depot
(workspace only) Place the selected files/directories under version control. All the selected objects must currently have (external) status. For each one, AccuRev creates version 1 in the workspace stream.
Link to a directory: If the (external) object is a symbolic link (Unix/Linux) or a junction point (Windows), this command's default is to create an AccuRev element link, not an AccuRev symbolic link. The target of the link must be a directory element visible in your workspace. If you wish to convert all such directories to AccuRev symbolic links, use the Add links as symbolic links checkbox in the Add to Depot dialog box. [note ]
Keep
(workspace only) Create a new version in the workspace stream for each selected file. All of the selected objects must be file elements; none can have (external) status and none can be a directory. A dialog appears, in which you can enter a comment string and select other options.
Typically, you invoke the Keep command on files that you've been working on, and thus have (modified) status. But this is not a requirement. If you Keep a file that you have not modified, a new version is created with identical contents.
The first time you Keep a file, it becomes active in the workspace (by being placed in the workspace's default group The set of elements that are currently active in a particular workspace or stream.). After that, you can modify and Keep the file as many times as you like. The file remains active in the workspace until you run the Promote or Revert to Backed command on it.
Link to a file element: this command operates on the target of the link. [note ]
Special case: Rename'ing a modified file before Keep'ing it
Anchor
(workspace only) Make the selected files/directories active in the workspace (by placing them in the workspace's default group The set of elements that are currently active in a particular workspace or stream.). The files/directories themselves are not modified in the workspace tree. Typically, you anchor a file in your workspace to prevent a subsequent Update command from overwriting it with a newer version. (Update overwrites inactive files only, not active ones.)
File(s) that you Anchor must not currently be the workspace's default group The set of elements that are currently active in a particular workspace or stream.. Anchor creates a new version in the workspace stream. This new version simply records the fact that the file is officially active in the workspace.
Element or symbolic link: this command operates on the link itself.
Notes (click to view):
Anchor creates a virtual version
Other commands that create a new version in a workspace (Keep, Move, Defunct, undefunct (CLI only)) create a real version A version of an element, created in some users workspace, recording a change to the contents and/or pathname of the element. See version, virtual version.. These commands record an actual change to the element, or to its visibility.
But Anchor creates a virtual version A version of an element, created in a dynamic stream as an alias for (reference to) a previously created real version., because you haven't made a change to the element -- you've merely reinstated some existing version.
Anchor-required and exclusive file locking workspaces
In an anchor-required An optional setting on a workspace, specifying that the workspaces file elements are to be read-only until the user performs a checkout operation (GUI: Anchor command; CLI: anchor or co command). or exclusive file locking An AccuRev feature that enforces serial development: when a file becomes active in one workspace, an exclusive file lock prevents the file from becoming active in sibling workspaces. workspace, you must run the Anchor command on a file before modifying its contents. When you anchor a set of elements in an anchor-required or exclusive file locking workspace, a dialog appears if one or more of them are active in a sibling workspace. This enables you to select/deselect individual elements to be anchored. Note that the elements that are active in the sibling workspace are initially deselected. This makes it easy to avoid the situation where multiple users are working on the same file(s) concurrently. The exclusive file locking feature guarantees that this situation won't occur.
See File Locking.
Promote
Send the active version of the selected files/directories to the parent stream (backing stream, basis stream) The stream that is just above a given workspace or stream in a depot's stream hierarchy. The given workspace/stream inherits versions from the parent stream.. The promoted element(s) become inactive in the workspace or stream (are removed from the default group The set of elements that are currently active in a particular workspace or stream.). The status of the elements becomes (backed).
Element or symbolic link: this command operates on the link itself, not on the target of the link.
Notes (click to view):
Promote creates a virtual version
The version that Promote creates in the parent stream is a virtual version A version of an element, created in a dynamic stream as an alias for (reference to) a previously created real version.. No data is copied from your machine to the repository by this command; it just creates new entries in the repository database.
Promoting from a time-based stream
When you promote a version from a time-based stream A stream that has a "basis time", affecting which versions it inherits from its parent stream. See basis time, parent stream., it does not become inactive in that stream. Doing so would cause the promoted version to disappear from the stream, because the stream would now inherit a version that was created prior to the basis time A date-timestamp setting for a stream, affecting which versions the stream inherits from its parent stream: for each element, the version inherited is the one that was in the parent stream at the basis time. See snapshot..
Integration between configuration management and issue management
If either or both of the integrations between AccuRev's configuration management and issue management facilities is enabled, a particular AccuWork query is executed and its results displayed.
You can select one or more of the issue records and click Ok; or you can type one or more numbers (SPACE-separated) in the Issue # input field. The integration(s) record information about the Promote transaction in the issue record(s) you designate.
Merge
(workspace only) For each selected file, perform a merge operation, involving two versions: the one in your workspace and the one in the workspace's parent stream. The resulting "merged version" is saved as a new version in the workspace stream.
The merge operation takes into account both the contents of the versions to be merged and the pathnames of those versions. Thus, at the completion of a Merge command, a file might have a different name or be located in a different directory, or both.
Element or symbolic link: this command operates on the link itself, resolving conflicting changes to the link object. [examples ]
For each selected element, remove all changes you've made since the last time you Promote'd it, or since the last Update of the workspace -- whichever is more recent. For files, this includes both content changes and namespace changes. For directories, this includes namespace changes only. For links, this command operates on the link itself, "undo"ing any changes you've made to the specification of the link target element link, symbolic link: the file or directory that the link points to.. [examples ]
The selected elements become inactive An element is said to be active in a workspace or stream if a new version of the element has been created there, and that version has not been either (1) promoted to the parent stream or (2) purged from the workspace or stream. See default group, backed, passive. in the workspace (they are removed from the workspace's default group The set of elements that are currently active in a particular workspace or stream.). The status of the elements becomes (backed).
When you invoke this command in a dynamic stream, the depot's pre-promote-trig trigger The AccuRev facility that enables user-defined procedures (trigger scripts) to be performed automatically before or after certain operations take place. fires. That's because, like a Promote, the command changes which version of the element appears in the stream.
(workspace only; file element with (modified) status only) Replace the file with the most recent version you created with Keep. (This command does not undo any namespace changes you made with Rename or with Cut-and-Paste.) Use this command when you've saved one or more intermediate versions of the file(s), and you want to discard further changes you've made since a Keep.
The selected elements remain active in the workspace. That is, they are not removed from the workspace's default group. The (modified) status of the elements changes to (kept).
If you've modified a file but not yet performed a Keep on it, this command works like Revert to Backed.
Link and directory elements: this command is disabled, because a link or directory element cannot have (modified) status.
Annotate
(text files only) Open an Annotate tab, displaying the contents of the selected version. Each text line is annotated with information on how it was created.
Link to a file element: this command operates on the target of the link.
Show History
Open a History Browser tab, containing the transactions involving the selected element.
Browse Versions
Open a Version Browser tab, showing all the versions of the selected element, and their interrelationships (ancestry).
Browse Stream Versions
Open a Stream Version Browser tab for the selected element. This tab displays the depot's stream hierarchy, much like the Stream Browser. But on this tab, each stream represents the version of the selected element that appears in that stream.
Diff Against Most Recent Version
(workspace only) Compares the file in your workspace tree with the version currently in your workspace stream The private stream that is built into a workspace. All new versions of elements are originally created in workspaces; AccuRev records these versions in workspace streams.. Use this command if you've modified the file since the last time you performed a Keep on it, or since you last Update'd it.
You can invoke this command on a multiple-file selection. A separate tab opens for each file.
Diff Against Backed Version
Compares your version with the version currently in the backing stream. [note ] This might include the changes stored in several intermediate versions that you've created with Keep. For example, you might use this command to see all the changes you've made to a file since you Update'd your workspace and starting working on the file. [note ]
You can invoke this command on a multiple-file selection. A separate tab opens for each file.
Diff Against Basis Version
(workspace only) Compares your version with the version that you started working with, before making your recent changes A set of versions of a particular file element; representing the changes made to accomplish some task (or any set of related changes). The recent changes start with the current version (or another selected version), termed the head version; they extended backward to (but do not include) the corresponding basis version..
You can invoke this command on a multiple-file selection. A separate tab opens for each file.
WIP (Work in Progress)
Open a WIP tab, displaying the active elements in workspaces and/or streams related to the selected stream.
Rename
(workspace only) Change the name of the selected element, using the Rename dialog. The new name can be in a different directory within the depot. Thus, this command can perform a "move" as well as a "rename". See Resolving Namespace Conflicts.
This command activates the object (by including it in the workspace's default group). The (kept) and (member) flags are added to its status.
If you change the contents of a file, then rename it without first performing a Keep, the version created by Rename does not contain the content changes, just the name change. The file's new status reflects this, having the (modified) and (member) flags.
Copy
(workspace only) Designate the selected object (file, directory, or link) to be the target of an element link (element-link element) An element whose contents is a pointer to another element, which must be in the same depot. The target element can be a directory element, a file element, another element link, or a symbolic link. or a symbolic link (or symbolic-link element) An element whose contents is a pathname. The pathname can point to AccuRev data (that is, a location inside a workspace) or non-AccuRev data.. Use the Paste Link command to complete the creation of the link object.
Cut
(workspace only) Mark the currently selected element to be moved to another directory in the same depot. To finish the relocation, right-click the destination directory (in either the Folders or Details pane) and select Paste.
Paste
(workspace only) Specify the destination for an element that has been marked for relocation with the Cut command.
Paste Link
(directory in workspace only) Create an element link or symbolic link (or symbolic-link element) An element whose contents is a pathname. The pathname can point to AccuRev data (that is, a location inside a workspace) or non-AccuRev data. in the selected directory. The target of the link is the file, directory, or link element on which you previously invoked the Copy command. [note ]
By default, the link object has the same name as the target object. But you can change the name in the Paste Link dialog.
If the name you specify does not currently exist, AccuRev creates a new link element (add transaction). If the name you specify is an existing link element, AccuRev changes the target of that link element (keep transaction).
Delete
(workspace only) Remove the selected element(s) from the workspace tree . This command does not affect the depot -- AccuRev still thinks the deleted objects should be there, so it continues to list them, with (missing) status.
To remove an element from the depot's stream hierarchy, so that its removal will be reflected in other users' workspaces (after you Promote the change and they perform an Update), use the Defunct command instead of Delete.
Defunct
(workspace only) Remove the selected element(s) from the workspace tree , and also change their status to (defunct). This also activates the elements in the workspace stream -- they're "in the act of being deleted". Accordingly, the elements also get the (kept) and (member) status flags.
Notes (click to view):
When you Promote a defunct element, it disappears entirely from the workspace stream, and from the File Browser display. The element becomes (defunct), and also active An element is said to be active in a workspace or stream if a new version of the element has been created there, and that version has not been either (1) promoted to the parent stream or (2) purged from the workspace or stream. See default group, backed, passive., in the backing stream.
When you Update a workspace below a stream with a (defunct) file or link, the file or link is removed from the workspace tree The ordinary directory tree, located in the users disk storage, in which the user performs development tasks and executes AccuRev commands.. For a (defunct) directory, Update removes the directory and its entire subtree from the workspace tree.
Populate
For each selected element, copies the version that is currently in the workspace stream The private stream that is built into a workspace. All new versions of elements are originally created in workspaces; AccuRev records these versions in workspace streams. to the workspace tree . This has the effect of undoing an accidental deletion, or discarding edits that you have not yet preserved with Keep.
A dialog controls the ability to populate entire directory subtrees, along with the ability to overwrite files in the workspace tree.
New File
Bring up a dialog to create an empty file in the current directory, and optionally place it under version control.
New Folder
Bring up a dialog to create an empty subdirectory in the current directory, and optionally place it under version control.
Send to Issue
Create a new entry (or modify an existing entry) in the change package A set of entries, each in the form of a basis-version/head-version pair, recorded on the Changes tab of an issue record. The change package records the changes to one or more elements, made to implement the feature or bugfix described in that issue record. Each entry in the change package describes changes to one element: the changes between the basis version and the head version. See patch. section (Changes tab) of one or more issue records A data record, consisting of values of data fields, stored in a Dispatch issue database.. The version you specify becomes the head version The version of an element that, along with a basis version, specifies that element's entry in a change package. Equivalently, the head-version/basis-version pair specifies a patch to that element. of the change package entry; AccuRev determines the corresponding basis version A particular ancestor of the version specified in a Patch, Revert, Diff, or Send to Issue command. The series of versions between the basis version and the specified version constitute the 'recent changes' to be patched into (or removed from) the target. Similarly, a change package entry consists of all the versions between a specified basis version and a specified head version. automatically.
The default query An AccuWork query that you've designated to be executed automatically in certain situations: when you open a new Queries tab; when AccuRev prompts you to specify one or more issue records in a Send to Issue command; when you execute Promote and an AccuRev/AccuWork integration is enabled. of the current depot's issue database is executed, and the results are displayed in a dialog. You are prompted to choose one or more of the issue records selected by the query. You can also create a new issue record, whose number will be entered in the dialog.
(dynamic stream only) Load the selected versions into the Change Palette, so that they can be promoted to another stream. For some versions, a merge An operation that combines the contents of two text files (contributors), which are versions of the same file element. AccuRev uses a 3-way merge algorithm: it compares the two files line-by-line with a third file, the version that is the closest common ancestor of the other two. might be required prior to the promotion.
Properties
Displays information about the selected element. The data items displayed vary with the type of element.