During the Putback transaction, Configuring may determine that a file in the parent has been modified since it was last put back from that child or brought over into the child. In that case it blocks the Putback so that the changes are not overwritten and then notifies the user of the potential conflict.
Generally the owner of the child workspace will then attempt to update the child by bringing over the changed file. If, during the Bringover Update transaction, Configuring determines that the corresponding file in the child has also been modified since it was last brought over, a conflict exists.
Conflicts arise when corresponding files in both the parent and child have been modified. If Configuring were to overwrite either of the files, a loss of data would result. Before the specified file can be put back or brought over the user must resolve any conflicts.
When Configuring detects a conflict during the Bringover Update transaction, as described in the previous section, it then does the following:
Merges the parent and child SCCS history files for the conflicting files in the child workspace
Notifies the user of the conflict
Assists the user in resolving the conflict
All conflicts are resolved from within the child workspace and from the perspective of the child workspace.
In the case of most conflicts, the options available to the user for resolving conflicts are:
Install the latest delta from the parent as the resolved version in the child.
Accept the latest delta from the child as the resolved version of the file. Since it has been through the resolve process, its Putback transaction will no longer be blocked in the parent.
Merge the contents of latest delta from the parent with that of the child.
Configuring provides tools that aid in resolving conflicts, however, the conflicts must be resolved by the user. Refer to Chapter 9, Resolving Conflicts," for a detailed discussion about conflict resolution.