About streams

Dimensions CM supports Agile development by using streams to manage and control updates between local work areas and a repository.

Streams overview

A stream is a container in a Dimensions CM repository for a set of item revisions.

Streams are used to isolate the development of features from the main code base. Typically each development team uses a child stream that has been branched from a parent mainline stream. The child stream is merged back into the mainline as required.

You can work with streams in the desktop and web clients, the Windows Explorer, Visual Studio and Eclipse integrations, and the dmcli and the developer command-line utilities.

Streams enable an iterative process with the following functions:

Function Description
Update Use the Update operation to copy item revisions from a repository to your local work area.
Modify Modify the item revisions locally, build, and test. For details, see About editing items.
Merge Use the Merge operation to resolve any conflicts with the mainline. Build and test the merged item revisions.
Deliver Use the Deliver operation to commit the merged item revisions to the repository.

A stream cannot contain parallel versions of the same item, and you cannot use functions that operate on individual files, such as check out and check in.

Use streams if your team plans to:

  • Adopt, or is already practicing, Agile software development practices.

  • Work in parallel on the same code for the same release.

  • Manage multiple parallel streams of development with a protected mainline.

  • Enable developers to easily branch and merge projects.

  • Enforce a single line of descent to prevent conflicts.

  • Make developers responsible for the impact of their changes on the rest of the application.

Note: You can configure your database to use only streams, only projects, or both streams and projects. A stream is configured in the process model as a project of type "STREAM". For details about miscellaneous database options in the Administration Console, see Set up the process model.

For details about working with streams, see the following sections:

Web client: Work with streams
Desktop client: Work with streams

Back to top

Stream types

You can create the following types of streams:

  • An empty stream.

  • A stream based on a release or tip baseline. These types of baselines only contain one revision of each item. To create a stream containing the items from a project, first create a tip baseline of the project and then create a new stream based on that baseline.

  • A stream based on any version of another stream. The new stream becomes a child of the parent stream from which it was created.

  • A stream based on any version of a project.

  • A topic stream, which is a temporary stream that you use for a set of defined changes, for example, to fix a defect or develop a small feature. For details, see Shelve your personal changes.

Back to top

See also: