Sun WorkShop TeamWare 2.1 User's Guide

Detecting Conflicts

Before you can resolve conflicts, Configuring must detect the conflict and prepare the history files of the conflicting files for resolving.

Detecting Conflicts During Bringover Update Transactions

Usually, the conflict resolution process begins when you attempt to put back files that have changed in both the parent and the child workspaces. The Putback transaction blocks the transfer of files from the child to the parent because the version of the file from the child will overwrite changes made in the parent.

After the Putback transaction is blocked, you must use the Bringover Update transaction to update the child. (If Putback is executed with the Auto Bringover option specified, then the Bringover transaction is initiated automatically by Configuring.) If, during the Bringover transaction, Configuring determines that the file in the child has also changed, a conflict exists. All files included in the Bringover Update transaction that are not in conflict are copied or updated normally.

Preparing Files for Conflict Resolution

When a conflict is encountered during a Bringover Update transaction, Configuring takes special steps to prepare that file so that you can resolve the conflict.

Configuring incorporates the deltas created in the parent into the SCCS history file in the child. The parent and child deltas are placed on separate branches in the child SCCS history file. After the deltas are merged, the history file in the child contains:

Access to the three deltas (common ancestor, parent, and child) in the child enables you to use the Resolve transaction and Merging to compare the parent and child deltas -- both to their common ancestor, and each to the other.

In addition to merging deltas, Configuring adds the name of the conflicted file to the child's Codemgr_wsdata/conflicts file. The conflicts file is a text file that contains the names of all files in that workspace with unresolved conflicts.

The stage is set for you to resolve the conflicts using the Resolve transaction.