Topic streams and pull requests

Use topic streams to manage a set of defined changes, such as fixing a defect or developing a small feature. Use pull requests to evaluate and merge a set of defined changes, typically in a topic stream.

Topic streams overview

Topic streams are temporary streams that enable you to isolate your changes from a mainline.

Guidelines and behaviors:

  • By default, any user can create a topic stream.

  • Similar to regular streams, topic streams are versioned. If you deliver multiple times, you can restore to any previous state.

  • Usually topic streams are visible only to the user who created them, but other team members can be given access by delegating the topic stream or changing its ownership.

  • After you delegate a stream you created, you can continue contributing to it. Access is controlled by the Control Topic Stream privilege. All users in the ADMIN group have this privilege by default.

  • By default, Change Management (CM) rules are disabled for topic stream. You don't have to specify request IDs when delivering changes. This behavior is configured in the Administration Console. For details, see Set up the process model.

  • Topic streams have their own icon to differentiate them from regular streams.

  • You can use a topic stream to shelve your work. For example, you are working on changes in a work area, but the changes cannot be delivered to the associated stream because the stream is locked. In this case, you can create a dedicated topic stream based on the work area. For details, see Shelve streams in Eclipse.

  • To avoid taking up space in your database and optimize performance, we recommend that you delete topic streams you no longer need.

Differences between topic and regular streams:

  • Topic streams have less features and are typically used for short-term work.

  • You cannot create a topic stream from another topic stream.

  • A topic stream and its parent stream must belong to the same Dimensions CM product.

  • A topic stream cannot be deployed, baselined, or added to a Dimensions CM release.

  • A topic stream can be related only to a single, active pull request. After the related pull request has moved to its final state or has been abandoned, you can relate another pull request.

Back to top

Pull requests overview

A pull request is a special type of review that enables teams to collaborate on code changes:

  • Review the proposed code changes.

  • Add review comments and contribute to a discussion.

  • Catch problems early before they become costly to fix.

  • Protect your mainline stream from unwanted changes, bad merges, and broken builds.

  • Approve changes and merge them into a mainline.

Guidelines and behaviors:

  • Pull requests are related to two streams:

    The source stream Where the pull request changes are made and reviewed, typically a topic stream.
    The target stream Where the pull request changes are merged to, typically a mainline.
  • Pull requests can be related to a request, which is used to merge the pull request changes. If the target stream has CM rules enabled, a request is required for the merge to succeed.

  • Pull requests have a single author and can be assigned to multiple lead and optional reviewers. When you publish a pull request, the reviewers are notified.

  • The related topic stream should preferably contain a small number of changesets. If there are too many changes, the pull request becomes too large to review effectively.

  • Pull requests enable you to merge changes automatically into a parent stream without involving a work area.

  • Pull requests can run PulseUno chains. Chains help you to decide if the changes in a stream are healthy.

    A PulseUno administrator can configure PulseUno to create a pull request automatically when a topic stream is created. The new pull request is automatically linked to the topic stream.

    For details about PulseUno, see PulseUno.

Back to top

Use topic streams and pull requests together

A topic stream and its related pull request work together to help you manage and merge changes:

  • A topic stream is created from a parent stream, which creates a pull request.

  • Changes are delivered to the topic stream and related to the pull request.

  • The pull request is reviewed, approved, and merged into the topic stream’s parent.

Guidelines and behaviors:

  • Reviewers use pull requests to review changes in a topic stream.

  • An active pull request contains the changes in the related topic stream (but not the changes in closed pull requests).

  • The request related to the pull request is used to merge the changes in the topic stream into its parent stream.

  • In some cases you may have multiple pull requests for a topic stream, but only one can be active and in progress. For example, a topic stream may have previous, closed pull requests, each covering a range of changesets.

You can view all your pull requests in the desktop client or OpenText PulseUno. For details about PulseUno, see PulseUno.

Back to top

See also: