Sun WorkShop TeamWare 2.1 User's Guide

Copy-Modify-Merge Model

Sun WorkShop TeamWare assists in the development and release of large software projects. TeamWare is based on a concurrent development model called Copy-Modify-Merge. Isolated (per developer) workspaces form the basis of the TeamWare Configuring model. With TeamWare Configuring, you (the developer) copy source you want to change from a central workspace into your own workspace, modify the source to your liking, and then merge your changes with changes made by other developers in the central workspace.


Note -

A workspace is simply a specially designated SunOS(TM) directory and its subdirectories.


The inconvenience of merging changes is outweighed by the productivity increase that results from developers working concurrently. TeamWare Configuring is designed to minimize (and in some cases, eliminate) the inconvenience of merging changes.

Besides providing isolated workspaces, TeamWare Configuring enables you to easily and "intelligently" copy files between workspaces and then merge changes that exist between corresponding files. Configuring's "intelligent" copy feature enables you to copy project files in groups that you (or the project administrator) determine are logically linked; it also automatically determines for you whether differences exist between the files in the originating workspace and the destination workspace.

You copy project files from a central workspace into your own private workspace, make changes to files (or the file system), and then copy your changes back to the central workspace. You can group source files, header files, libraries, and so on, together in logical units that are copied in unison; TeamWare Configuring further assists the concurrent development process by determining whether differences exist between the files in the originating workspace and the destination workspace. If differences are found to exist, Configuring prevents you (or another developer) from copying over those changes. Configuring then provides sophisticated window-based tools that help you to merge these differences.

Copy-Modify-Merge Example

The following is a Copy-Modify-Merge concurrent development model employed by TeamWare Configuring. This example describes a common software development scenario where two developers are working simultaneously on the same or related parts of a project.

Table 3-1 Copy-Modify-Merge Example
Graphic
  • Both you and Developer x copy the same file from the project integration area to your separate work areas.

Graphic
  • Developer x changes the file and copies the changed file back into the integration area.

Graphic
  • You modify the same file in your work area and attempt to copy the file back into the integration area. TeamWare Configuring blocks your attempt to copy since it would overwrite Developer x's changes.

 

Graphic
  • Configuring informs you of the conflicting changes and you copy the file containing Developer x's changes from the integration area to your work area.

 

Graphic
  • With Configuring's assistance, you resolve the conflicts, merge the changes, test the changes, and successfully copy the file back to the integration area.