Parallel development using projects

Dimensions CM provides features that enable developers to work in parallel on the same items without conflict, and to resolve and consolidate changes.

Overview

The Dimensions CM work model for parallel development uses projects and version branches to separate concurrent activities on the same items.

Note: Unlike projects, streams do not contain parallel versions of the same items in the repository, and conflicts are resolved in the work area.

The following diagram provides an example of developing multiple projects in parallel.

Development_process.gif

The diagram demonstrates the following points:

  • You can create several projects from a baseline or existing project to support separate lines of development. A baseline typically includes all the source and derived items that constitute a previous product release. You can then edit the project by adding new or deleting existing item revisions.

  • You can associate a list of valid version branch names with a single project, so that users can check out individual items to a named branch.

  • You can then merge projects or item revisions so that mainstream development can pick up the changes made in parallel.

Back to top

Merge item revisions

Typically, when two or more parallel streams of development occur on the same file, it is necessary to merge the separate changes at some later point in time. Dimensions CM provides a comprehensive conflict resolution facility capable of merging any number of input files. 

For details about comparing and merging item changes, see About comparing and merging files.

Example

The following diagram illustrates a version development scenario for a file. There are three significant development branches, MAIN, WINDOWS and MAINTENANCE, and two bug fix subbranches emerging from the MAINTENANCE branch.

The diagram displays that some of the changes are consolidated back into the MAIN branch and released into Release 2.0.

This scenario uses named branches in the same project. Circles indicate revisions in branches.

branching_1.gif

Back to top

Merge projects

Development changes made in parallel may need to be absorbed into mainstream, or files on local machines may need to be consolidated into version control with conflict management. This may be achieved by merging the contents of projects, baselines, and directories.

For example, two projects may be merged into a new project by including all the non-conflicting revisions and then resolving those which contain conflicting changes.

To facilitate this important project management function in an intuitive way, Dimensions CM provides the interactive Project Merge Tool for merging projects, baselines and file areas on disk.

The graphical Project Merge Tool clearly highlights differences between files on disk or in a project or baseline using color and icons. Based on the differences displayed you can select which changes to include and can invoke the Merge Tool to resolve any conflicts in a graphically intuitive way.

There is also a Merge function and a Resolve Conflicts function for use in merging the contents of projects.

Back to top

Synchronize your work area

Use the Synchronize wizard to update your work area and the items in a project folder and keep them in step with one another. You can also use the features of the Windows Explorer plugin to work with item files outside the web client or desktop client.

Back to top

See also: