Source control

The Source Control component of Rational Team Concert is a component-based version control system built on the Jazz platform. It focuses on supporting geographically distributed teams and has strong support for parallel and agile development. It is built from the ground up to support a highly integrated collaborative development environment, integration with defect tracking, integration with builds, and process-centric automation. With these other software engineering aspects in mind, the Source Control component is flexible to accommodate different programming practices such as component-driven development or feature-driven development. The following are aspects of the Source Control functionality:


Teams or projects own a set of streams that provide a simple mechanism for sharing change sets between team members. Streams can be created easily for ad hoc collaborations, and streams can be created from builds to reproduce shipped products. In addition, streams provide an efficient scaling mechanism where teams of teams can be isolated and flow their changes into stream hierarchies as integration is needed.


Change sets

The storage model is entirely based on change sets, which provide atomic changes to sets of files. Change sets are the base currency and can be shared (via work items), suspended, discarded, and reverted.

Change set searching

If you want to find the changes that your intern made last week, or find that README.TXT file that you deleted last month, you can use the powerful change set search features.

Event notification

Deliveries fire an event notification so that team members can be aware of work being done in relevant streams. The event is presented as a toast popup when it is discovered, and past changes can be reviewed in the Event Log.

Move and rename tracking

There is full support for tracking file renames and moves, in addition to support for merging structural conflicts.

Full administrative control to delete contents from source control

An administrator can delete the content associated to the version of a file, for example, to reclaim space or remove improper content.

Task integration

Because everything is based on change sets, it is easy to switch between tasks by suspending and resuming change sets. You don’t have to think about branching or tagging; just put aside your changes and get back to them later.

Distributed development

Teams can choose to replicate changes to separate RTC Servers to allow for source code to be mastered in multiple locations for availability purposes. By replicating change sets between servers, administrators have some additional flexibility as to how teams can work with source code as their products and requirements change over time.

Component development

Instead of combining all your change sets in the same namespace, components provide an addition composition mechanism to organize work in the same repository. Files are grouped into change sets which belong to a specific component, and components are grouped into streams.

Parallel development

You never have to remember to tag or label files in order to patch or start a maintenance line. Several levels of built-in parallel development exist to make it easy to isolate your work, or your team’s work, as needed.

  • Repository workspaces – Provide constant isolation. You don’t have to make your changes visible to the team just to backup or use the repository features.
  • Suspend and resume – Provide task level isolation for personal work.
  • Work item or change request links – Provide lightweight task level isolation for personal or team work. Work on a feature, attach to a work item, and discard from your workspace. You or someone else continues the work by accepting the change sets back into their repository workspace.
  • Streams – Provide team isolation.
  • Locking – Provides selective isolation. By locking files in the stream, users can avoid merging, thus maintaining isolation from the team at a fine granularity.
  • File and folder read permissions – Full control over read access based on teams and roles

  • Timelines – Provide process isolation.
  • Repositories – Operate in a separate server.

Process integration

Quickly implement continuous integration and other agile processes. Support customization based on the process being used by your team.

Dashboard contribution

A dashboard viewlet can be configured to show the amount of source control activity that is happening over time. Monitoring this can help identify trends, such as the pace of changes slowing down as a stream stablizes for release.

Was this information helpful? Yes No 0 people rated this as helpful.