BRANCHING AND MERGING with AccuRev


Branching is the duplication of objects under revision control (such as a source code file, or a directory tree) in such a way that the newly created objects initially have the same content as the original, but can evolve independently of the original. Branching can take two forms, static or dynamic. In static branches, such as those in ClearCase, Perforce or Subversion, copy and label operations are used to duplicate a given branch. The duplicate then can evolve independently. With dynamic branches, such as in AccuRev streams, only the label operation is used, to flag the point in time that a stream diverged from its parent stream. Both branching models support some form of merging, so that code changes made on a branch can be re-integrated into another branch, as is typical in parallel development processes.

AccuRev provides a dynamic branch model call streams that enables efficient creation of new code lines without expensive file copy operations. Streams are dynamic, meaning that they can both inherit changes from other streams and provide changes that can be pushed up or across the stream hierarchy. Streams can be locked to limit how changes can propagate to and from a stream, and special time-based, snapshot and pass-through streams can be created to handle a wide variety of development process needs. The AccuRev GUI provides a visual representation of the stream hierarchy, including drag and drop operations to adjust the stream hierarchy; right click context menus for per-stream operations; and full support for determining differences between streams and stream history. Merge support is advanced relative to other tools. AccuRev supports SCM queries to enable quick identification of merge candidates, and provides a visual merge tool to allow developers to review merges and intelligently select how code should be merged. Trivial (non-conflicting) merges are handled automatically when developers update their workspace streams.

AccuRev provides the following features to enable smart branching and easy merging:

  • A dynamic stream model that enables fast creation of new code lines
  • Stream query operations including stream diff, issue diff and history
  • Stream locks and access control lists (ACLs) to control access to stream contents
  • Code queries to quickly determine merge candidates
  • A visual merge tool to enable easy merging of conflicting code changes
  • The AccuRev Change Palette to enable promoting of code changes across the stream hierarchy

Download
Free 30-Day Trial
5-user License
Watch the
2 Minute
Demo
Learn More
About AccuRev

Product Information
Learn how AccuRev can help you

Overview
Why Change SCM Systems?
AccuRev
AccuBridge
AccuWork
AccuReplica
Demonstrations
ScreenShots
DataSheets

 

More Information - direct links to resources and how to contact AccuRev

<empty>SCM Resource Center

<empty>Events

<empty>Contact AccuRev