The Defunct Command

Invoking the Defunct Command

Defuncting a Directory

Promoting a Defunct Element

Bringing Back a Defunct Element

The Past and Future of a Defunct Element

The Defunct command removes elements from active use in your workspace. That is, for each element you specify, it:

Operating system commands won't find a defunct element (because it really is gone from the workspace tree), but the File Browser can see the element in your workspace stream, where it is both (defunct) and a (member).

Defunct does not remove an element from the depot altogether. [note No operation removes an element altogether -- that would violate AccuRev's TimeSafe The aspect of AccuRev’s architecture that guarantees the reproducibility of any previous configuration of a stream, a depot, or the entire repository. property.]  And it does not make an element disappear for all users. Defunct just removes an element from a particular workspace. The element remains visible in other streams and workspaces -- at least until you Promote it.

Invoking the Defunct Command

In the Details pane of a File Browser that is open on a workspace, select one or more file elements. Then:

The Defunct dialog appears, prompting you to confirm your intention to remove the element(s).

Defuncting a Directory

If any of the elements you specify is a directory, Defunct works recursively: it removes the directory itself and elements under that directory. Only the specified directory itself becomes (defunct); the objects below it are simply removed from the workspace tree, but do not become (defunct) in the workspace stream.

The precise result depends on whether any elements located below the defuncted directory are active:

WARNING

In all cases of defuncting a directory, a file below the defuncted directory that you have edited -- but never preserved with Keep -- will be removed from the workspace tree. (Such files are not officially "active" in the workspace.) This removes data for which there might be no other copy.

Promoting a Defunct Element

After Defunct'ing an element, you use Promote to propagate its removal to your workspace's backing stream (parent 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 backing stream.. The element won't appear in a File Browser that is open on your workspace, but it will appear, with (defunct) status, in a File Browser that is open on the backing stream.

Bringing Back a Defunct Element

You can effectively undo a Defunct command by invoking the Revert to Backed command on the (defunct) element.

If you've already Promote'd the element, so that it no longer appears in the File Browser, you cannot bring it back with the AccuRev GUI. The AccuRev CLI command undefunct performs this operation.

The Past and Future of a Defunct Element

When a user in a sibling Two or more workspaces or streams that have the same parent stream. Pass-through streams 'don't count' -- that is, all workspaces that promote versions to the same stream are considered siblings, even if some of them are direct children of the stream, while others are children of an intervening pass-through stream. workspaces performs an Update, the element will disappear from that workspace.

With each successive promotion up the stream hierarchy The tree-structured collection of streams -- including snapshots and workspace streams -- for a particular depot., a defunct element disappears from the source ("promote from") stream, and becomes 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., with (defunct) status, in the destination ("promote to") stream.

AccuRev's TimeSafe property means that you cannot change the past. This means that a defunct element remains in old snapshots An 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. You can always get information about the element (if you know which stream it still exists in) using the History Browser.