Conflicts Mode
The Conflicts mode displays files in your workspace whose changes conflict with another version of that file elsewhere in the stream hierarchy — often, but not always, the version in the parent stream. Overlaps, deep overlaps, and twins are all examples of the types of conflicts displayed in this mode. Note that while other File Browser modes also display conflicts, only the Conflicts mode can show elements with deep overlap conflicts.
See File Browser Modes for more information on other modes.
The Explorer and Details Panes
The Explorer pane in Conflicts mode shows only those directories that are themselves in conflict or that contain one or more files that are in conflict with other versions elsewhere in the stream hierarchy. For example, if a file in the \flounder directory conflicts with another version, the \flounder directory is displayed in the Explorer pane.
To display all conflicts, click the root node. The In Folder column displays the relative path of the conflicted element to help you quickly identify the element’s location in the stream structure; this can be a useful feature when several directories contain conflicted elements.
To display only the conflicts occurring within a specific directory, select that directory.
You can format columns, change the sort order, and filter displayed objects in the Details pane as you would with any other table in AccuRev. See Working with Tables for more information. You can also save any changes you make to the default layout as your preference. See Saving Layout and Other Usage Preferences for more information.
Timestamp Optimization option. By default, AccuRev uses cached server information to identify which files in the workspace should have a status of (modified). To learn more about this option and when you might want to turn it off, see Timestamp Optimization (TSO) in the AccuRev Administrator’s Guide. See AccuRev Element Status Reference for a discussion of (modified) and other statuses.
Details Pane Toolbar Reference
The following table summarizes the tools available on the Details pane toolbar and where to find more information.
Tool | Description | Available For... |
---|---|---|
Merge | Displays the Merge tool, which allows you to merge changes in conflicting versions of the same element. See Diff, Merge, Patch, and the Change Palette. | Workspace and Stream |
Annotate | Lists the contents of the selected text file, annotating each line. See Annotate: Reviewing Transactions on an Element. | Workspace and Stream |
History | Displays the transactions associated with the selected element in the History Browser. See The History Browser. | Workspace and Stream |
Version Browser | Displays all the versions, and their relationships, of the selected element in the Version Browser. See The Version Browser. | Workspace and Stream |
The Diff Pane
When you select an element in the Details pane, AccuRev populates the Diff pane. The panel on the right displays the current workspace content whose changes conflict with a version elsewhere in the stream hierarchy; that version is displayed on the left.
The Diff pane is read only, but the coloring, changes navigation, and other features it uses are similar to those of the AccuRev Diff tool. See Diff Tab Layout for more information.
Tip: You can hide the Diff pane by clicking the Hide Diff Pane button ().
Example
In this example, lines 3, 4, and 6 were edited in the workspace version, creating a conflict with the version in the workspace’s parent stream. The Version Browser depicts the relationship between these two versions like this:
In this example, note that the Diff pane depicts the conflict between the workspace content and its parent, the dev stream, but that the Version Browser shows the stream where the change originated, int. This is because the int stream is the stream from which the workspace version’s parent stream (dev) inherited the change.
Tip: Placing the pointer on a version icon displays a tooltip with detailed information about that version.
See The Version Browser to learn more about the Version Browser and its features.
Types of Conflicts Displayed in Conflicts Mode
The Conflicts mode displays files with the following types of conflicts. Except where noted, conflicts can appear in other File Browser modes as well.
- Overlap. An (overlap) status occurs when the element has changed both in the backing stream and in your workspace. (In more technical terms, the current version in the parent stream is not an ancestor of the workspace version.) An (overlap) status can indicate content changes or namespace changes in the parent stream version that are not present in the selected workspace version.
- Deep Overlap. A deep (overlap) status occurs when an overlap condition exists farther up the stream hierarchy than the current parent stream — in the parent stream, in the grandparent stream, and so on, all the way up the depot's stream hierarchy. Because searching the entire stream hierarchy for overlap conditions can take more time, the Conflicts mode does not display deep overlaps by default. See Displaying Deep Overlaps below for more information.
- Twin. A (twin) status occurs when two or more elements in a dynamic stream have the same pathname. This can occur in the following scenario, for example: (1) an element is defuncted in a workspace, (2) the element is promoted to the backing stream, (3) another element is created at the same pathname in the same workspace or a sibling workspace, (4) the new element is promoted to the backing stream.
Displaying Deep Overlaps
To display deep overlaps in the Conflicts mode, click the Include Deep Overlaps check box. When you do this, AccuRev refreshes the Details pane to include any elements with deep (overlap) status. In addition, the name of the stream associated with the conflicting version appears in the Overlap Stream column in the Details pane.
Depending on the depth and complexity of your stream structure, the search for elements with deep (overlap) status can take more time than a search for simple overlaps. To make the search more efficient, the Conflicts mode uses Deep Overlap Optimization, which stops searching for overlaps beyond any time basis stream in the workspace’s stream hierarchy. This optimization improves performance, and also simplifies the display by not showing elements that are not relevant. If you want AccuRev to search the workspace’s entire stream hierarchy for deep overlaps, clear the Deep Overlap Optimization check box. When you do this, any deep overlap elements beyond a time basis stream are displayed with orange instead of yellow highlighting to distinguish them from other conflict types.
Tip: The Deep Overlap Optimization check box setting is saved as a user preference in AccuRev’s preferences.xml file. The setting is applied to all workspaces and streams you subsequently open in the File Browser, though you can change it any time you wish.
Resolving Conflicts
Generally speaking, the typical conflict that occurs in a workspace or a stream is an overlap — the current version in the parent stream is not an ancestor of the version in the current workspace or stream. This can happen, for example, when users in separate workspaces are working on the same file and one of them promotes his or her changes to the workspaces’ parent stream.
To resolve overlap and deep overlap conditions, you must merge your changes with the conflicting version and keep them in the workspace before you can promote your version. If the conflict is in a dynamic stream, you must perform the merge in the Change Palette. See Diff, Merge, Patch, and the Change Palette for more information.
Twin elements can be resolved in the same way as overlaps — by manually merging, keeping, and then promoting the merged version — but the process can be a little more complicated. To help, AccuRev provides a twin resolution wizard that speeds and simplifies the twin resolution process. See Resolving (twin) Status for more information.