Accurev AccuRev

liuxue.gu@hotmail.com · 2009年09月04日 · 14 次阅读

From Wikipedia, the free encyclopedia

Accurev is a commercial Software Configuration Management (SCM) solution developed by Accurev, Inc. Founded by current CTO and architect Damon Poole in 1998, the company is based in Lexington, MA, USA. The initial release of Accurev 1.0 was made in 2002. The key Accurev differentiator is that it focuses using the SCM solution to help manage development processes in an organization rather than on traditional revision control.

Streams

In contrast to most SCM solutions, AccuRev does not use the concepts of branches or labels. Instead, Accurev prefers the use of the metaphors of streams and snapshots.[1][2][3]

Source code files live in the streams and changes flow down through the hierarchy in which the streams are organized. Streams are first class objects that can easily be graphically visualized and manipulated by developers to change the behavior of the system without requiring administrative user intervention. This level of user empowerment is one of the most unusual features in Accurev. It is also possible to crosslink the contents of a stream to another stream, thus making component-based development possible.

* Dynamic streams are typically used to isolate project-level work effort, much the way that branches are used most other SCM solutions. * Static (immutable) streams or Snapshots are often used to implement baselines for organization-level work, an activity typically performed using labels in other SCM solutions. * Private Workspace streams are where the user makes their day-to-day actual changes. These changes are tracked by the Accurev but are not visible to anyone else until the user chooses to promote the change to the workspace's parent stream.

TimeSafe

Accurev is designed around the TimeSafe principle. TimeSafe is the concept that a source control system must be able to unwind from the current state of the world and show users the exact state it was in at any point in the past in an effortless manner. Accurev accomplishes this by ensuring that all operations are performed as atomic transactions with fine grained time tracking and global transaction numbers. Because files are not identified by path name, but by a global identity number, TimeSafe allows elements to undergo renaming refactoring without jeopardizing the history of the element.[4]

Change packages

Accurev supports a method of managing changes as atomic units. By specifying the same issue number when promoting different changes, the changes will be grouped together into a single change package that can then be manipulate by issue number. Changes can then be moved through the stream hierarchies in an atomic manner - if any piece of the change package were to cause the promotion to fail, no part of the changes will be taken. This atomic nature keeps incomplete code sets from polluting a stream.

Comparing, merging and refactoring

The Accurev user interface provides both a command line interface and a rich Java GUI. The command line interface has options to output its data in XML format for those who prefer that style output.

Among the functionality provided in the interfaces are the ability to difference at many different levels - by files, by stream, or even by Change Package. Users may then elect to perform merges that consider not just the current state of the two elements in question, but with a tool that is aware of prior versions of the element and finds the last common ancestor to help simplify the job.

Similarly users can use the Version Browser to visualize the changes that files have undergone over time from the perspective of what streams and workspaces the file was modified by in a single screen. Additionally the Annotatation Viewer, like the "blame" function in classical SCM tools, allows users to see the last change made to each line of a file, when that change was made, who made it, and the transaction number (commit identifier).

Accurev supplies full support for moving, renaming and deleting files and directories while preserving their history. This frees developers to be able to conduct refactorings that rename elements without concern for losing vital information about the root of changes to the code they work on.

Architecture

Accurev uses a client/server based architecture. Communication is performed via TCP/IP using an XML based protocol for actions, and streaming for file transfers.

AccuBridge SDK

Accurev includes an SDK for building integrations. [5] The SDK allows developers to write their own integrations using either a JavaAPI or Perl.

Accurev have used the SDK to implement integrations with a number of popular Integrated development environment and Issue tracking tools. [6]

AccuWork

Accurerv also provides an integrated Issue tracking system called AccuWork. AccuWork is backed by a proprietary database, and is customizable via forms in the Accurev GUI.

Platform support

Accurev supports both clients and servers on Windows, Solaris, Linux, AIX, HP-UX and Mac OS-X. The web interface is supported on Windows and Linux.

Awards

Dr. Dobb's Journal has twice honored Accurev with Jolt and Productivity Awards in 2005[7], and again 2007.[8]. In 2008 Accurev was also named as a finalist for the Jolt Award.[9]

AccuRev’s stream-based architecture has been designed to ensure optimal team collaboration, improve software asset reuse, and accelerate the software development process by 30 percent. AccuRev integrates proven SCM best practices, allowing you to easily map to your optimal process model. These built-in SCM best practices form the foundation of the AccuRev innovative feature set. See below to learn more.

AccuWorkAccuWork Issue Tracking Issue-based and feature-based development are considered best practices in software engineering. With AccuWork, the integrated issue-tracking software included in AccuRev Enterprise, teams can easily create and manage issues, and keep track of the code changes associated with an issue.

Merge Tracking ScreenshotAdvanced Merge Tracking File merges are a common and often time-consuming activity in parallel software development. With AccuRev Advanced Merge Tracking, determining which files require merges – and performing the actual merge - is easy. AccuRev Streams assure that the full history of all files participating in a merge is tracked, so that complex merges can be understood at a glance.

Change Packages ScreenshotChange Packages AccuRev Change Packages are the key to issue-based development and requirements traceability. By creating logical groupings of code changes, Change Packages allow developers and managers to work at the process level, not just at the code level.

Crosslink and Symlinks ScreenshotCrosslinks and Symbolic Links Component reuse is critical to efficient software development. AccuRev Crosslinks and Symbolic links enable teams to share pre-built components and 3rd party libraries without the need to store these artifacts in multiple locations.

History Annotation ScreenshotHistory Annotation View The innovative History Annotation view provides developers with a fully annotated view of any source file. Users can view historic versions of files just by dragging the Version Slider. This enables quick comparisons and helps improve the efficiency of code reviews.

Workspace ScreenshotPrivate Workspaces By providing fully version controlled private workspaces, AccuRev enables developers to isolate their in-progress code from others without the need to create a separate branch. Developers can perform local check-ins to keep their code safe in the AccuRev repository, and then promote it for inclusion in builds and other automated development processes.

Security ScreenshotSecurity Enterprises need secure software products, especially when dealing with critical intellectual property such as source code. AccuRev provides enterprise-class security via secure authentication, access control lists for streams and depots, and custom triggers to fine-tune security policy.

Snapshot ScreenshotSnapshots Tagging a build is time consuming and costly in legacy SCM systems. With AccuRev Snapshots, code lines can be “labeled” instantaneously to uniquely identify any code line and allow for reproducing builds in the future. This is critical for processes such as continuous integration that require frequent builds from identifiable code lines.

Streambrowser ScreenshotStreamBrowser The AccuRev StreamBrowser brings the power of streams to the desktop by enabling users to visualize and manage their development process in an easy-to-use platform-independent interface. With simple click, drag and drop operations, users can create and modify streams, merge code between streams, view and port issues between streams, and more.

Stream FiltersStream Filters Managing a complex development process with a large number of code lines and releases can be challenging. With AccuRev Stream Filters, users can tailor their view of the AccuRev Stream hierarchy to see just those streams that are of interest to them improving productivity and scalability.

Timesafe ScreenshotTimeSafe Architecture & Sarbanes Oxley Unlike legacy SCM systems, where it is easy to remove code, AccuRev employs the TimeSafe? Architecture. By utilizing an append-only database and atomic transactions, AccuRev assures that a consistent and immutable audit trail is preserved for all operations. This makes audits and regulatory compliance fact-based and safe.

Version Control ScreenshotVersion Control AccuRev SCM includes an advanced version control solution that delivers both core version control functionality plus sophisticated graphical configuration and codeline management. The AccuRev Stream architecture enables developers to safely version in-progress code and store it in private workspaces, or share it with other team members.

Web Interface ScreenshotWeb Interface With highly distributed teams, wireless laptops and telecommuting pervasive in the world today, the AccuRev Web User Interface helps remote users gain the power of AccuRev via a standard web browser. Users can browse streams, perform code reviews and even download copies of source files from anywhere on the globe.

Optional add-ons: AccuReplica: The solution for geographically distributed and multi-site development AccuBridge: Deep integrations for ALM solutions, issue tracking tools and IDEs AccuBridge for LDAP: Provisioning and security for user and group management AccuWorkflow: Collaborative lifecycle workflow for smaller teams AccuRev for ClearCase: Bi-directional coexistence between AccuRev and ClearCase

Supported Platforms Intel and AMD x86-based systems: * Windows Vista, XP, 2003, 2000 * Linux (kernel versions 2.4.9+, RedHat AS/ES 2.1+) Sun systems: Solaris and Solaris x86 (version 2.5.1+, including Solaris 10) Apple systems: OS/X+ (client-only, PPC and Intel Mac supported) HP systems: HP-UX (version 11.0 +) IBM systems: AIX (RS/6000) (version 4.3.2+) VMware and Solaris 10 Zones

Native IDE support Eclipse Microsoft Visual Studio JetBrains IntelliJ IDEA

需要 登录 后方可回复。