AccuRev SCM

Last updated
AccuRev
AccuRev Logo.png
AccuRev Screenshot 4 9.png
Developer(s) AccuRev, Inc.
Initial releaseMay 18, 1999;22 years ago (1999-05-18) [1]
Stable release
7.3 / March 2019;2 years ago (2019-03) [2]
Operating system Microsoft Windows, Linux, Mac OS X, HP-UX, Solaris, IBM AIX [3]
Available inEnglish and Japanese
Type Revision control
License Proprietary
Website www.microfocus.com/products/change-management/accurev/

AccuRev is a software configuration management application developed by AccuRev, Inc. [4] and was first released in 1999. In December 2013 AccuRev was acquired by Micro Focus. [5]

Contents

Overview

AccuRev is a centralized version control system which uses a client–server model. Communication is performed via TCP/IP using a proprietary protocol. Servers function as team servers, continuous integration servers, or build servers. AccuRev is built around a stream-based architecture in which streams form a hierarchical structure of code changes where parent streams pass on certain properties to child streams. Developers make changes using command line functions, the Java GUI, the web interface, or one of the IDE plug-ins (Eclipse, Visual Studio, IntelliJ IDEA). [6]

Characteristics

Streams and parallel development
AccuRev captures and controls the relationships between code bases in parallel efforts using a stream-based architecture. This allows teams to safely store work and test it before sharing it with others, code is automatically merged or "inherited" between streams and teams once code changes are shared. [7]
Private developer history
AccuRev has a two step check-in process. Users can check-in code privately to their workspace before sharing it with the rest of the group. [8]
Change packages
AccuRev integrates with various ITS and project management tools. History from check-ins and promotions are tied to issues. Most SCM functions can be done on the issue level instead of by file and directory.
Distributed development
AccuRev enables remote stream structures and replication for distributed teams. Replica servers function as a local cache with all write operations happening after. [7]
Automated merging
Streams in AccuRev automatically share and merge code with each other. This is a main distinction between streams and branches.

See also

Related Research Articles

Concurrent Versions System is a revision control system originally developed by Dick Grune in July 1986.

In software engineering, version control is a class of systems responsible for managing changes to computer programs, documents, large web sites, or other collections of information. Version control is a component of software configuration management.

In software engineering, software configuration management is the task of tracking and controlling changes in the software, part of the larger cross-disciplinary field of configuration management. SCM practices include revision control and the establishment of baselines. If something goes wrong, SCM can determine what was changed and who changed it. If a configuration is working well, SCM can determine how to replicate it across many hosts.

Code Co-op

Code Co-op is the peer-to-peer revision control system made by Reliable Software.

StarTeam

StarTeam is a revision control system used in software development, especially when a project involves multiple teams in different locations. StarTeam is an SCM and SDLC software application, created by Starbase Corporation, which was acquired by Borland in January 2003 which was acquired by Micro Focus in July 2009. The application is client-server, backed by a relational database that retains all changes made to a project during its evolution as well as the project requirements, task assignments, threaded discussions and bug tracking. Microsoft SQL Server and Oracle database are supported database servers.

Monotone (software) Revision control software

Monotone is an open source software tool for distributed revision control.

Git Software for version control of files

Git is software for tracking changes in any set of files, usually used for coordinating work among programmers collaboratively developing source code during software development. Its goals include speed, data integrity, and support for distributed, non-linear workflows.

In software engineering, continuous integration (CI) is the practice of merging all developers' working copies to a shared mainline several times a day. Grady Booch first proposed the term CI in his 1991 method, although he did not advocate integrating several times a day. Extreme programming (XP) adopted the concept of CI and did advocate integrating more than once per day – perhaps as many as tens of times per day.

In software development, distributed version control is a form of version control in which the complete codebase, including its full history, is mirrored on every developer's computer. Compared to centralized version control, this enables automatic management branching and merging, speeds up most operations, improves the ability to work offline, and does not rely on a single location for backups. Git, the world's most popular version control system, is a distributed version control system.

CVSNT is a version control system compatible with and originally based on Concurrent Versions System (CVS), which has become popular in the open-source world.

Microsoft Visual SourceSafe (VSS) is a discontinued source control program oriented towards small software development projects. Like most source control systems, SourceSafe creates a virtual library of computer files. While most commonly used for source code, SourceSafe can handle any type of file in its database, but older versions were shown to be unstable when used to store large amounts of non-textual data, such as images and compiled executables.

Branching, in version control and software configuration management, is the duplication of an object under version control. Each object can thereafter be modified separately and in parallel so that the objects become different. In this context the objects are called branches. The users of the version control system can branch any branch.

The following is a comparison of version-control software. The following tables include general and technical information on notable version control and software configuration management (SCM) software. For SCM software not suitable for source code, see Comparison of open-source configuration-management software.

FinalBuilder is a commercial Windows build automation tool that provides a unified graphical interface to author and execute build projects. Once defined, a project can only be run either via the graphical interface or command line program to execute build projects. A project consists of actions, of which there are around 650 types defined as of version 6. Projects are stored in a zipped XML format.

Azure DevOps Server is a Microsoft product that provides version control, reporting, requirements management, project management, automated builds, testing and release management capabilities. It covers the entire application lifecycle, and enables DevOps capabilities. Azure DevOps can be used as a back-end to numerous integrated development environments (IDEs) but is tailored for Microsoft Visual Studio and Eclipse on all platforms.

Multi-stage continuous integration is a software development technique intended to achieve highly integrated parallel development activity while reducing the scope of integration problems.

Plastic SCM is a cross-platform commercial distributed version control tool developed by Códice Software Inc. It is available for Microsoft Windows, Mac OS X, Linux, and other operating systems. It includes a command-line tool, native GUIs, diff and merge tool and integration with a number of IDEs. It is a full version control stack not based on Git.

Surround SCM is a software configuration management application developed by Seapine Software, now owned by Perforce since 2017. Perforce integrated the software with its Helix ALM product.

In software deployment, an environment, or tier is a computer system or set of systems in which a computer program or software component is deployed and executed. In simple cases, such as developing and immediately executing a program on the same machine, there may be a single environment, but in industrial use, the development environment and production environment are separated, often with several stages in between. This structured release management process allows phased deployment (rollout), testing, and rollback in case of problems.

References

  1. AccuRev press release
  2. Product Announcement for AccuRev 7.3
  3. "AccuRev Support Matrix". Archived from the original on 2011-11-13. Retrieved 2011-10-25.
  4. Bloomberg Businessweek Company Profile - AccuRev, Inc.
  5. "Archived copy" (PDF). Archived from the original (PDF) on 2014-05-17. Retrieved 2014-05-17.CS1 maint: archived copy as title (link)
  6. "AccuBridge Support Matrix". Archived from the original on 2011-04-23. Retrieved 2011-05-31.
  7. 1 2 Application Development Trends: AccuRev Streams Flow to the Enterprise
  8. Dr Dobb's Painless SCM [ permanent dead link ]