Merging Versions of a Binary File

No generally accepted algorithm exists for merging the contents of binary-format files. But it is quite possible for a binary-format element to get into an overlap Version X, in a workspace or stream, has '(overlap)' status if the parent stream's current version of the element contains changes that are not reflected in version X. (That is, the parent stream's version is not an ancestor of version X.) Such a version cannot be promoted to the parent stream; the user must create a new version with a merge operation, combining version X with the parent stream's version. The new, merged version can then be promoted. Similarly, an overlap can exist between the versions in two dynamic streams. See deep overlap.(overlap) status if the parent stream’s current version of the element contains changes that are not reflected in version X. Such a version cannot be promoted to the parent stream; the user must create a new version with a merge operation, combining version X with the parent stream’s version. The new, merged version can then be promoted. See deep overlap. state in a concurrent development environment [example Two team members might each revise the corporate logo file using an image editor, and then Keep it. One of them then Promote's the file to the backing stream, creating an overlap situation in the other workspace.]

To resolve a binary-file overlap, you invoke the Merge command, just as for a text file. The Binary Merge dialog appears.

Using the Binary Merge Dialog

The Merge tool, seeing that versions to be merged are in binary format, offers the only two possible choices:

Workspace version

Create a new version using the file in your workspace tree The ordinary directory tree, located in the user's disk storage, in which the user performs development tasks and executes AccuRev commands., and mark that version as having been merged with the version in the 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.. You can now Promote this new version to the backing stream.

Stream version

This invokes the Revert to Backed command, which resolves the situation by purging the (overlap)-status version from your workspace. The workspace reverts to using the version of the file that was in the backing stream at the previous update.

The file's status becomes (stale) An element has (stale)status in a workspace if it is not currently active in the workspace, but a new version of the element has entered the parent stream. An update operation will overwrite the stale version with the parent stream’s new version., because the version that previously caused the overlap is in the backing stream. To bring that version into your workspace, perform an Update The operation (update command) that copies new versions of elements into a workspace from its parent stream..