List of revision control software
Encyclopedia
Historical local only
In the local-only approach, all developers must use the same computer system. These software often manage single files individually and are largely replaced or embedded within newer software.Free
- Revision Control SystemRevision Control SystemThe Revision Control System is a software implementation of revision control that automates the storing, retrieval, logging, identification, and merging of revisions. RCS is useful for text that is revised frequently, for example programs, documentation, procedural graphics, papers, and form...
(RCS) — stores the latest version and backward deltas for fastest access to the trunk tip compared to SCCS and an improved user interface, at the cost of slow branch tip access and missing support for included/excluded deltas. - Source Code Control SystemSource Code Control SystemSource Code Control System is an early revision control system, geared toward program source code and other text files. It was originally developed in SNOBOL at Bell Labs in 1972 by Marc J. Rochkind for an IBM System/370 computer running OS/360 MVT...
(SCCS) — part of UNIXUnixUnix is a multitasking, multi-user computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy, and Joe Ossanna...
; based on interleaved deltas, can construct versions as arbitrary sets of revisions. Extracting an arbitrary version takes essentially the same speed and is thus more useful in environments that rely heavily on branchingBranching (software)Branching, in revision control and software configuration management, is the duplication of an object under revision control so that modifications can happen in parallel along both branches....
and mergingMerge (revision control)Merging in revision control, is a fundamental operation that reconciles multiple changes made to a revision-controlled collection of files. Most often, it is necessary when a file is modified by two people on two different computers at the same time...
with multiple "current" and identical versions.
Open source
- Concurrent Versions SystemConcurrent Versions SystemThe Concurrent Versions System , also known as the Concurrent Versioning System, is a client-server free software revision control system in the field of software development. Version control system software keeps track of all work and all changes in a set of files, and allows several developers ...
(CVS) — originally built on RCS, licensed under the GPL.- CVSNTCVSNTThe CVSNT Versioning System implements a version control system: it keeps track of all changes in a set of files, typically the implementation of a software project, and allows several developers to collaborate...
— cross-platform port of CVS that allows case insensitive file names among other changes - OpenCVSOpenCVSOpenCVS is a BSD-licensed implementation of the popular Unix version control software called Concurrent Versions System. OpenCVS is developed as a part of the OpenBSD project by Jean-Francois Brousseau, Xavier Santolaria, Niall O'Higgins and others....
— CVS clone under the BSD license, with emphasis put on security and source code correctness
- CVSNT
- Subversion (svn) — versioning control system inspired by CVS
- VestaVesta (Software configuration management)Vesta is a software configuration management system released by Compaq under the LGPL. Compaq claims that Vesta is a mature system and is the result of over 10 years of research and development at the Compaq/Digital Systems Research Center.- Features :...
— build system with a versioning file system and support for distributed repositories
Proprietary
- AccuRevAccuRev SCMAccuRev is a software configuration management application developed by AccuRev, Inc. and was first released in 2002.- Overview :AccuRev is a centralized version control system which uses a client/server model. Communication is performed via TCP/IP using an XML based protocol for actions, and...
– source configuration management tool with integrated issue tracking based on "Streams" that efficiently manages parallel and global development; replication server is also available - CA Software Change Manager (originally Harvest/CCC) – change and configuration management tool by Computer Associates
- Autodesk VaultAutodesk VaultAutodesk Vault is a data management tool integrated with Autodesk Inventor Series, Autodesk Inventor Professional, AutoCAD Mechanical, AutoCAD Electrical, and Civil 3D products. It helps design teams track work in progress and maintain version control in multi-user environments...
– Version control tool specifically designed for AutodeskAutodeskAutodesk, Inc. is an American multinational corporation that focuses on 3D design software for use in the architecture, engineering, construction, manufacturing, media and entertainment industries. The company was founded in 1982 by John Walker, a coauthor of the first versions of the company's...
applications managing the complex relationships between design files such as AutoCADAutoCADAutoCAD is a software application for computer-aided design and drafting in both 2D and 3D. It is developed and sold by Autodesk, Inc. First released in December 1982, AutoCAD was one of the first CAD programs to run on personal computers, notably the IBM PC...
and Autodesk InventorAutodesk InventorAutodesk Inventor, developed by U.S.-based software company Autodesk, is 3D mechanical solid modeling design software for creating 3D digital prototypes used in the design, visualization and simulation of products...
. - ClearCase – SCC compliantSCC compliantSCC compliant as applied to revision control software, means that a program uses a particular interface defined by Microsoft for Visual SourceSafe.The SCC denotes Source Code Control...
configuration management system by IBMIBMInternational Business Machines Corporation or IBM is an American multinational technology and consulting corporation headquartered in Armonk, New York, United States. IBM manufactures and sells computer hardware and software, and it offers infrastructure, hosting and consulting services in areas...
Rational SoftwareRational SoftwareRational Machines was founded by Paul Levy and Mike Devlin in 1981 to provide tools to expand the use of modern software engineering practices, particularly explicit modular architecture and iterative development... - codeBeamerCodeBeamer (software)codeBeamer is a web based Collaborative Application Lifecycle Management tool for distributed software development, written in Java. It is developed and marketed by Intland Software. Its license is proprietary, but free versions and free hosting options are available...
– Collaboration and application lifecycle management platform - IBM Configuration Management Version Control (CMVC) – version control system, no longer available.
- IC ManageIC ManageIC Manage is a company that provides design data management software to semiconductor companies for managing their IC design databases between design teams. IC Manage also provides enterprise software for large scale Perforce customers. IC Manage provides a structured IC design workflow for analog...
Global Design Platform (GDP) – design data management for IC design and PerforcePerforcePerforce is a commercial, proprietary, centralized revision control system developed by Perforce Software, Inc.-Architecture:Perforce is a client/server system.The server manages a central database and a master repository of file versions....
infrastructure support. - MKS IntegrityMKS IntegrityMKS Integrity now a PTC product is a system and software lifecycle management and application lifecycle management platform developed by MKS Inc. and was first released in 2001. The software is client/server, with both desktop and web client interfaces...
- PerforcePerforcePerforce is a commercial, proprietary, centralized revision control system developed by Perforce Software, Inc.-Architecture:Perforce is a client/server system.The server manages a central database and a master repository of file versions....
– Free for use in open source projects. - PVCSPVCSPVCS Version Manager is a software package by Serena Software Inc. for revision control of files, in particular source code files....
– originally Polytron Version Control System, developed by Don Kinzer at PolytronPolytron (software)Polytron Corp. was founded in 1982 by Richard Kinnaird, Don Kinzer, Charlie Perkins, and Doug Root. With the exception of Root, all of them had worked at Tektronix in various hardware and/or software engineering positions.-History:...
, first released in 1985. Now owned by Serena. - Quma Version Control SystemQVCS-History:QVCS was first published in 1991 as a set of command line utilities for the Amiga.Quma ported that original Amiga product to the Microsoft Windows platform in 1996. In 2000, QVCS-Pro was introduced with additional features, including support for Microsoft SCC compliant Integrated...
- SourceAnywhereSourceanywhereSourceAnywhere is revision control software developed by Dynamsoft. Integration with Visual Studio, Eclipse, and other IDEs is supported as well as Build automation with CruiseControl.NET and ANT....
– version control tool by Dynamsoft. - StarTeamStarTeamStarTeam is a revision control system used in software development, especially when a project involves multiple teams in different locations. StarTeam is a SCM and SDLC software application, created by Starbase Corporation, acquired by Borland in January 2003 which was acquired by Microfocus...
– coordinates and manages software delivery process by Microfocus, formerly BorlandBorlandBorland Software Corporation is a software company first headquartered in Scotts Valley, California, Cupertino, California and finally Austin, Texas. It is now a Micro Focus subsidiary. It was founded in 1983 by Niels Jensen, Ole Henriksen, Mogens Glad and Philippe Kahn.-The 1980s:...
; centralized control of digital assets and activities - Telelogic SynergyTelelogic SynergyRational Synergy is a software tool that provides software configuration management capabilities for all artifacts related to software development including source code, documents and images as well as the final built software executables and libraries. Rational Synergy also provides the...
– SCC compliant integrated change management and task-based configuration management system, proprietary of IBM. - VaultVault (revision control system)Vault is a commercial, proprietary revision control system by SourceGear LLC which markets its product as a replacement for Microsoft's Visual Source Safe....
– version control tool by SourceGear (First installation can be used for free) - Visual SourceSafe – version control tool by MicrosoftMicrosoftMicrosoft Corporation is an American public multinational corporation headquartered in Redmond, Washington, USA that develops, manufactures, licenses, and supports a wide range of products and services predominantly related to computing through its various product divisions...
; oriented toward small teams - Visual Studio Application Lifecycle Management (previously Team System) – process-based client-server suite of tools by MicrosoftMicrosoftMicrosoft Corporation is an American public multinational corporation headquartered in Redmond, Washington, USA that develops, manufactures, licenses, and supports a wide range of products and services predominantly related to computing through its various product divisions...
for larger development organizations, incorporating work item tracking, reporting, build automation, unit and web testing, and integration with Microsoft OfficeMicrosoft OfficeMicrosoft Office is a non-free commercial office suite of inter-related desktop applications, servers and services for the Microsoft Windows and Mac OS X operating systems, introduced by Microsoft in August 1, 1989. Initially a marketing term for a bundled set of applications, the first version of...
Distributed model
In the distributed approachDistributed revision control
A distributed revision control system , distributed version control or decentralized version control keeps track of software revisions and allows many developers to work on a given project without necessarily being connected to a common network.-Distributed vs...
, each developer works directly with his or her own local repository, and changes are shared between repositories as a separate step.
Open source
- AegisAegis (management software)Aegis is a software change management system first released in 1991. It supports a strongly test-driven development workflow on top of any number of different underlying revision control systems, such as RCS or SCCS....
— written by Peter Miller, mature software, filesystem-oriented, limited network support. It has support for distributed revision control. - ArXArX (revision control)ArX is a distributed revision control system. ArX began as a fork of GNU arch, and is licensed under the GPL. Since the fork, ArX has been extensively rewritten in C++, with many new features...
— written by Walter Landry, started as a fork of GNU arch, but has been completely rewritten - Bazaar — written in PythonPython (programming language)Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...
, originally by Martin Pool and sponsored by CanonicalCanonical Ltd.Canonical Ltd. is a private company founded by South African entrepreneur Mark Shuttleworth to market commercial support and related services for Ubuntu Linux and related projects. Canonical is registered in London and employs staff around the world...
; decentralised, and aims to be fast and easy to use; can losslessly import Arch archives - CodevilleCodevilleCodeville is a distributed revision control system. It was written by Ross Cohen using Python, with some design work done by Bram Cohen. It uses an innovative merging algorithm called the "Codeville merge". A new merge algorithm called "Precise Codeville" or "pcvd" merge was under development...
— written in PythonPython (programming language)Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...
originally by Ross Cohen; uses an innovative merging algorithm - DarcsDarcsDarcs is a distributed revision control system created by David Roundy; it was designed to replace traditional, centralized source control systems such as CVS and Subversion...
— written in HaskellHaskell (programming language)Haskell is a standardized, general-purpose purely functional programming language, with non-strict semantics and strong static typing. It is named after logician Haskell Curry. In Haskell, "a function is a first-class citizen" of the programming language. As a functional programming language, the...
and originally developed by David Roundy; can keep track of inter-patch dependencies and automatically rearrange and "cherry-pick" them using a "theory of patches" - DCVSDistributed Concurrent Versions SystemThe Distributed Concurrent Versions System is a distributed revision control system that enables software developers working on locally distributed sites to efficiently collaborate on a software project. DCVS is based on the well known version control system Concurrent Versions System...
— decentralized and CVS-based - Fossil — written by D. Richard HippD. Richard HippDwayne Richard Hipp is the architect and primary author of SQLite as well as Fossil SCM. He and his wife, Ginger G. Wyrick, currently live and work in Charlotte, North Carolina. He also authored the Lemon Parser Generator and CVSTrac. CVSTrac became the inspiration for Trac. He is also a member of...
for SQLiteSQLiteSQLite is an ACID-compliant embedded relational database management system contained in a relatively small C programming library. The source code for SQLite is in the public domain and implements most of the SQL standard...
; distributed revision control, wiki, and bug-tracking - GitGit (software)Git is a distributed revision control system with an emphasis on speed. Git was initially designed and developed by Linus Torvalds for Linux kernel development. Every Git working directory is a full-fledged repository with complete history and full revision tracking capabilities, not dependent on...
— written in a collection of Perl, C, and various shell scripts, designed by Linus TorvaldsLinus TorvaldsLinus Benedict Torvalds is a Finnish software engineer and hacker, best known for having initiated the development of the open source Linux kernel. He later became the chief architect of the Linux kernel, and now acts as the project's coordinator...
based on the needs of the Linux kernelLinux kernelThe Linux kernel is an operating system kernel used by the Linux family of Unix-like operating systems. It is one of the most prominent examples of free and open source software....
project; decentralized, and aims to be fast, flexible, and robust - GNU archGNU archIn computing, GNU arch is a distributed revision control system that is part of the GNU Project and licensed under the GNU General Public License...
- LibreSourceLibreSourceLibreSource is a collaborative development platform for open-source software, groupware, community interaction, electronic archiving and Web publishing....
— configuration management - MercurialMercurial (software)Mercurial is a cross-platform, distributed revision control tool for software developers. It is mainly implemented using the Python programming language, but includes a binary diff implementation written in C. It is supported on Windows and Unix-like systems, such as FreeBSD, Mac OS X and Linux...
— written in PythonPython (programming language)Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...
as an Open Source replacement to BitKeeperBitKeeperBitKeeper is a software tool for distributed revision control of computer source code. A distributed system, BitKeeper competes largely against other systems such as Git and Mercurial...
; decentralized and aims to be fast, lightweight, portable, and easy to use - MonotoneMonotone (software)Monotone is an open source software tool for distributed revision control. Monotone tracks revisions to files, groups sets of revisions into changesets, and tracks history across renames.The focus of the project is on integrity over performance...
— developed by the Monotone Team; decentralized in a peer-to-peerPeer-to-peerPeer-to-peer computing or networking is a distributed application architecture that partitions tasks or workloads among peers. Peers are equally privileged, equipotent participants in the application...
way - SVKSVKSVK is a decentralized version control system written in Perl, with a hierarchical distributed design comparable to centralized deployment of BitKeeper and GNU arch. The primary author of svk is Kao Chia-liang...
— written in PerlPerlPerl is a high-level, general-purpose, interpreted, dynamic programming language. Perl was originally developed by Larry Wall in 1987 as a general-purpose Unix scripting language to make report processing easier. Since then, it has undergone many changes and revisions and become widely popular...
by Kao Chia-liang; built on top of Subversion to allow distributed commits
Proprietary
- BitKeeperBitKeeperBitKeeper is a software tool for distributed revision control of computer source code. A distributed system, BitKeeper competes largely against other systems such as Git and Mercurial...
— was used in Linux kernelLinux kernelThe Linux kernel is an operating system kernel used by the Linux family of Unix-like operating systems. It is one of the most prominent examples of free and open source software....
development (2002 – April 2005) - Code Co-opCode Co-op-Distinguishing features:Code Co-op is a distributed revision control system of the replicated type.It uses peer-to-peer architecture to share projects among developers and to control changes to files...
— peer-to-peer version control system (can use e-mail for synchronization) - Sun WorkShop TeamWare — designed by Larry McVoyLarry McVoyLarry McVoy is the CEO of BitMover, the company that makes BitKeeper, a version control system that was used from February 2002 to early 2005 to manage the source code of the Linux kernel....
, creator of BitKeeper - Plastic SCMPlastic SCMPlastic SCM is a commercial, proprietary revision control tool developed by Codice Software, Inc.Plastic can work in centralized mode and as a distributed revision control system.-Architecture:...
— by Codice Software, Inc
See also
- Comparison of revision control softwareComparison of revision control softwareThe following is a comparison of revision control software. The following tables includes general and technical information for notable revision control and software configuration management software.- General information :Table Explanation...
- Revision controlRevision controlRevision control, also known as version control and source control , is the management of changes to documents, programs, and other information stored as computer files. It is most commonly used in software development, where a team of people may change the same files...
- Comparison of free software hosting facilitiesComparison of free software hosting facilitiesA source code repository or source code escrow is a file archive and web hosting facility where large amounts of source code are kept, either publicly or privately. They are often used by open source projects and other multi-developer projects to handle various versions and developers submitting...
Other comparisons
- Comments on Open Source Software / Free Software (OSS/FS) Software Configuration Management (SCM) Systems
- A comparison of some of both proprietary and free of these revision control systems
- Version-Control Systems for Linux
- SCM Price / Feature Comparison ( from the creators of Code Co-op )
Further reading
- Bram Cohen's blog entry on version control politics surrounding the Linux kernel (founder and contributor of Codeville), as of 2005-04-23
- Dispelling Subversion FUD by Ben Collins-Sussman (Subversion developer), as of 2004-12-21
- LWN article: "The Monotone version control system", as of 2005-04-13
- IETF Delta-V Working Group -- Extending the Web with versioning and configuration management... (WebDAV)