![]() | This article may require cleanup to meet Wikipedia's quality standards. The specific problem is: Some of these projects may no longer be in active development and should be marked as inactive.(April 2014) |
The following tables describe attributes of notable version control and software configuration management (SCM) software systems that can be used to compare and contrast the various systems.
For SCM software not suitable for source code, see Comparison of open-source configuration management software.
The following table contains relatively general attributes of version-control software systems, including:
Software | Maintainer | Development status | Repository model | Concurrency model | License | Supported platforms | Financial cost |
---|---|---|---|---|---|---|---|
AccuRev SCM | Micro Focus International | Active | Client–server | Merge or lock | Proprietary | Most Java Platforms (Unix-like, Windows, macOS) | $350 per seat, quoted on an individual basis. |
Azure DevOps | Microsoft | Active | Client–server, Distributed | Merge or lock | Proprietary | Windows, cross-platform via Azure DevOps Services | Free for up to 5 users in the Azure DevOps Services or for open source projects; else at cost, licensed through MSDN subscription or direct buy. |
GNU Bazaar | Canonical Ltd. | last release from 2016, forked as Breezy | Distributed and Client–server | Merge | GPL-2.0-or-later | Unix-like, Windows, macOS | Free |
BitKeeper | BitMover Inc. | unmaintained; last updated December 29, 2018 | Distributed | Merge | Apache-2.0 | Unix-like, Windows, macOS | Free |
IBM DevOps Code ClearCase | IBM Rational | Active | Client–server | Merge or lock [nb 1] | Proprietary | Linux, Windows, AIX, Solaris, HP UX, IBM i, OS/390, z/OS, | $4600 per floating license (held automatically for 30 minutes minimum per user, can be surrendered manually) |
Code Co-op | Reliable Software | Active | Distributed | Merge | MIT | Windows | $150 per seat |
CVS | The CVS Team [1] | maintained but new features not added; last release from 2008 | Client–server | Merge | GPL-1.0-or-later | Unix-like, Windows, macOS | Free |
CVSNT | March Hare Software [2] and community members | Active | Client–server | Merge or lock | GPL or proprietary | Unix-like, Windows, macOS, IBM i | £425 distribution fee for older version or £85 commercial license for latest version of CVS Suite or Change Management Server |
darcs | The Darcs team | Active | Distributed | Merge | GPL-2.0-or-later | Unix-like, Windows, macOS | Free |
Dat | The Dat team | Active | Distributed | Merge | BSD-3-Clause | Unix-like, Windows, macOS | Free |
Dimensions CM | Serena Software | Active | Client–server | Merge or lock | Proprietary | Windows, Linux, Solaris, AIX, HP UX, z/OS | Paid |
Fossil | D. Richard Hipp | Active | Distributed | Merge | BSD-2-Clause | POSIX, Windows, macOS, Other | Free |
Git | Junio Hamano | Active | Distributed | Merge | GPL-2.0-only | POSIX, Windows, macOS | Free |
GNU arch | Andy Tai | unmaintained | Distributed | Merge | GPL | Unix-like, Windows, macOS | Free |
IC Manage | IC Manage Inc. | Active | Client–server | Merge or lock | Proprietary | Unix-like, Windows, macOS | Paid |
PTC Integrity | PTC | Active | Client–server | Merge or lock | Proprietary | Unix-like, Windows | Paid |
Mercurial | Mercurial Community | Active | Distributed | Merge | GPL-2.0-or-later | Unix-like, Windows, macOS | Free |
Monotone | Nathaniel Smith, Graydon Hoare | Active | Distributed | Merge | GPL-2.0-or-later | Unix-like, Windows, macOS | Free |
Perforce Helix Core | Perforce Software Inc. | Active | Client–server and Distributed | Merge or lock | Proprietary | Unix-like, Windows, macOS | Available as perpetual license and subscriptions; prices vary based on configurations and options [3] |
Plastic SCM | Codice Software | Active | Client–server and Distributed | Merge or lock | Proprietary | Linux, Windows, macOS | Free for up to 3 users, else starting at $7 per user per month for server-hosted, or $23 per user per month for on-premises edition. No perpetual licenses. [4] |
PVCS | Serena Software | Active | Client–server | Lock | Proprietary | Windows, Unix-like | Paid |
Rational Team Concert | IBM Rational | Active | Client–server [nb 2] [5] [6] | Merge or lock | Proprietary | Linux, Windows, AIX, Solaris, HP UX, IBM i, OS/390, z/OS, macOS | Free for up to 10 users, else paid |
Revision Control System | Thien-Thi Nguyen | Active | local | Merge or lock | GPL-3.0-or-later | Unix-like | Free |
SCM Anywhere | Dynamsoft Corporation | Active | Client–server | Merge or Lock | Proprietary | Unix-like, Windows, macOS | Free for single user; multi user $299 per user, bulk discount available |
Source Code Control System (SCCS) | Jörg Schilling [nb 3] | Active | local | lock [nb 4] | CDDL – proprietary [nb 5] | Unix-like, macOS | Free CDDL-licensed versions or paid in some UNIX distributions. |
StarTeam | Borland (Micro Focus) | Active | Client–server | Merge or lock | Proprietary | Windows and Cross-platform via Java based client | Paid |
Subversion (SVN) | Apache Software Foundation [7] | Active | Client–server | Merge or lock [nb 6] | Apache-2.0 | Unix-like, Windows, macOS | Free |
Surround SCM | Perforce Software Inc. | Active | Client–server | Merge or lock | Proprietary | Linux, Windows, macOS | $595 per user; $29/month subscription |
Synergy | IBM Rational | Active | Client–server and Distributed | Merge or lock | Proprietary | Linux, Windows, Unix-like | Paid [8] |
Vault | SourceGear LLC | Active | Client–server | Merge or lock | Proprietary | Unix-like, Linux, Windows | $300 per user |
Vesta | Kenneth Schalk; Tim Mann, [9] [10] | web site not updated since 2006; latest release February 15, 2009 | Distributed NFS-protocol-emulation choice to optionally confederate clients and/or servers | lock on branch; merge branch-to-branch | LGPL | Tru64, Linux | Free |
Visual SourceSafe (VSS) | Microsoft | serious bug fixes only | Shared Folder | Merge or lock | Proprietary | Windows | $500 per license approximately, or single license included with each MSDN subscription. |
Software | Maintainer | Development status | Repository model | Concurrency model | License | Supported platforms | Financial cost |
The subsequent table shows technical details of some well-known version-control software. These are classified based on following headers:
Table explanation
Software | Programming language | Storage method | Scope of change | Revision IDs | Network protocols | Source code size |
---|---|---|---|---|---|---|
AccuRev SCM | C++, Java | Changeset | File | Number pair NN/NN | custom | Unknown |
Azure DevOps | C++ and C# | Changeset | File and Tree | Numbers | SOAP over HTTP or HTTPS, Ssh | Unknown |
GNU Bazaar | Python 2, Pyrex (optional), C [nb 7] | Snapshot | Tree | Pseudorandom | custom, custom over ssh, custom over HTTP, HTTP, SFTP, FTP, email bundles, [nb 8] WebDAV (with plugin) | 4.1 MB |
BitKeeper | C | Changeset | Tree | Changeset keys, numbers | custom, HTTP, rsh, ssh, email | 99 MB |
CA Software Change Manager | C, C++, Java, HTML | Changeset and Snapshot | File and Tree[ citation needed ] | Numbers | HTTP, TCP/IP | Unknown |
IBM DevOps Code ClearCase | C, Java, Perl | Changeset | File and Tree [11] | Numbers | custom (CCFS), custom (MVFS filesystem driver), HTTP | Unknown |
Code Co-op | C++ | Changeset | Unknown | User ID-Ordinal | e-mail (MAPI, SMTP/POP3, Gmail), LAN | Unknown |
CVS | C | Changeset | File | Numbers | pserver, ssh | 10.3 MB |
CVSNT | C++ | Changeset | File and Tree [12] | Numbers | custom over ssh, sspi, sserver, gserver, pserver | 55 MB |
darcs | Haskell | Changeset (Patch) [nb 9] | Tree | n/a | custom over ssh, HTTP, email | 1.7 MB |
Dimensions CM | C, C++, Java, C# | Snapshot or changeset | File and Tree | Numbers | Custom, HTTP/HTTPS | Unknown |
Fossil | C | Snapshot or changeset [13] | Tree | SHA-1 or SHA-3 hashes [14] | HTTP/HTTPS, custom over ssh | 7.2 MB [nb 10] |
Git | C, shell scripts, Perl | Snapshot | Tree | SHA-1 hashes | custom (git), custom over ssh, [15] HTTP/HTTPS, rsync, email, bundles | 23 MB [16] |
GNU arch | C, shell scripts | Changeset | Tree | Numbers | HTTP, WebDAV | Unknown |
IC Manage | C++, C | Changeset | Unknown | Numbers | custom | Unknown |
Mercurial | Python, C | Changeset | Tree | Numbers, [nb 11] SHA-1 hashes | custom over ssh, HTTP, email bundles (with standard plugin) | 20 MB |
MKS Integrity | C, Java | Changeset | File | Numbers | custom, HTTP | Unknown |
Monotone | C++ | Hybrid [nb 12] | Tree | SHA-1 hashes | custom (netsync), custom over ssh, file system | 4.4 MB |
Perforce Helix Core | C++, C | Changeset | Tree | Numbers | custom | Unknown |
PVCS | C++, C | Changeset | File | Numbers | Unknown | Unknown |
Rational Team Concert | Java | Changeset | Tree | Numbers | REST services over HTTP/HTTPS | Unknown |
Revision Control System | C | Changeset | File | Numbers | File system | 5.3 MB |
SCM Anywhere | C++, Java, C# | Changeset | File and Tree | Numbers | SOAP over HTTP or HTTPS | Unknown |
Source Code Control System | C | Changeset | File | Numbers | NFS | 1.3 MB |
StarTeam | C++, C, Java | Snapshot | File and Tree | MD5 hashes | custom, TCP/IP | Unknown |
Subversion | C | Changeset and Snapshot | Tree | Numbers | custom (svn), custom over ssh, HTTP and SSL (using WebDAV) | 41 MB |
Surround SCM | C++ | Changeset | File and Tree | Numbers | TCP/IP | Unknown |
Synergy | Java | Changeset (text), Snapshot(binary) | File | Numbers | custom, custom over ssh, HTTP | Unknown |
Vault | C# | Changeset | File and Tree | Numbers | HTTP, HTTPS | Unknown |
Vesta | C++ | Snapshot | Tree | Unknown | NFS | 15.8 MB |
Visual SourceSafe | C | Snapshot | File | Numbers | SMB, DCOM | Unknown |
Software | Programming language | Storage method | Scope of change | Revision IDs | Network protocols | Source code size |
The following table classifies some well-known software on the basis of its features and capabilities.
Table explanation
Software | Atomic commits | File renames | Merge file renames | Symbolic links | Pre-/post-event hooks | Signed revisions | Merge tracking | End of line conversions | Tags | International support | Unicode filename support | Supports large repos |
---|---|---|---|---|---|---|---|---|---|---|---|---|
AccuRev SCM | Yes | Yes | Partial [nb 13] | Yes | Yes | Yes | Yes | Yes | — | Yes | Yes [17] | Yes [18] [19] |
Azure DevOps | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes |
GNU Bazaar | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes [20] | Yes | Yes | Yes | Unknown |
BitKeeper | Yes | Yes | Yes | Yes | Yes | Unknown | Yes | Yes | Yes | Unknown | Unknown | Yes |
CA Software Change Manager | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Unknown |
IBM DevOps Code ClearCase | Partial [nb 14] | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes [21] | Unknown | Yes |
Code Co-op | Yes | Yes | Yes | No | Partial | No | No | No | Yes | Unknown | Unknown | Unknown |
CVS | No | No | No | No | Partial | No | No | Yes | Yes | Unknown | No | Yes |
CVSNT | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes |
darcs | Yes | Yes | Yes | No [nb 15] | Yes | Yes | — [nb 16] | No | Yes | No | Yes [nb 17] | Unknown |
Dimensions CM | Yes | Yes | Yes | No | Yes | Unknown | Yes | Yes | Yes [nb 18] | No [nb 19] | Yes | Yes |
Fossil | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes [nb 20] | Yes | Yes | Yes | Unknown |
Git | Yes | Partial [nb 21] | Yes | Yes | Yes | Yes [nb 22] | Yes | Yes | Yes | Yes | Yes [nb 23] | Partial [nb 24] |
GNU arch | Yes | Yes | Unknown | Yes | Yes | Yes | Unknown | Unknown | Yes | Unknown | Unknown | Unknown |
IC Manage | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Unknown | Unknown |
MKS Integrity | Yes | Yes | Yes | No | Yes | Yes [nb 25] | Yes [nb 26] | Yes | Yes | Yes | Yes | Unknown |
Mercurial | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes [nb 27] | Partial [nb 28] | Yes [22] |
Monotone | Yes | Yes | Yes | No [nb 29] | Yes | Yes, mandatory | Yes | Yes | Yes | Unknown | Yes | Unknown |
Perforce Helix Core | Yes | Yes [23] | Yes [24] | Partial [nb 30] | Yes | No | Yes [25] | Yes | Yes | Yes [26] | Yes [27] | Yes |
Rational Team Concert | Yes | Yes | Yes | Yes | Yes [nb 31] | Yes | Yes | Yes | Yes | Yes | Yes | Unknown |
Source Code Control System | Yes | No | — | — | No | No | Yes | No | No | Partial [nb 32] | Yes | Yes |
StarTeam | Yes [nb 33] | Yes | Unknown | Yes | No | No | Yes | Yes | Yes | Yes | Unknown | Yes |
Subversion | Yes | Yes [nb 34] | Partial [nb 35] | Yes | Yes | No [nb 36] | Yes. [nb 37] | Yes | Partial [nb 38] | Yes | Yes | Yes |
Surround SCM | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes [28] | Yes | Yes | Yes |
Synergy | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes [nb 39] | Yes |
Vault | Yes | Yes | Yes | No | Yes | No | No | Yes | Yes | Unknown | Unknown | Unknown |
Vesta | Yes | Yes | Unknown | Unknown | Yes | No | No | No | Yes | No | Unknown | Yes |
Visual SourceSafe | No | No [nb 40] | Unknown | No | Yes | No | No | Unknown | Yes | Yes | Unknown | Unknown |
Software | Atomic commits | File renames | Merge file renames | Symbolic links | Pre-/post-event hooks | Signed revisions | Merge tracking | End of line conversions | Tags | International support | Unicode filename support | Supports large repos |
The following are few more advanced features and capabilities few version-control softwares:
Table explanation
Software | Keyword expansion | Interactive commits | External references | Partial checkout/clone | Permissions | Timestamp preservation | Custom automatic merge tool | Supported formats | Shared build cache of derived objects |
---|---|---|---|---|---|---|---|---|---|
AccuRev SCM | Yes | Unknown | Yes | Yes | execution bit only | Yes | Yes | git (bi-dir) [29] | No |
Azure DevOps | No | Yes | Unknown | Yes | Yes | Unknown | Yes | Unknown | Unknown |
GNU Bazaar | Yes [30] | Yes [31] | Yes [32] | No | execution bit only | No [nb 41] | Yes [33] | bzr, subversion, [34] git, [35] hg, [36] any that has a fastexporter | No |
BitKeeper | POSIX and RCS | Yes | Yes | Yes | Yes | Yes | Yes | bitkeeper | No |
CA Software Change Manager | No | Yes | No | Yes | execution bit only | Yes | Yes | CA Software Change Manager | No |
IBM DevOps Code ClearCase | Yes [37] | No | No | Yes | Yes | Yes [nb 42] | Yes | ClearCase | Yes |
CVS | RCS | No | Yes | Yes [nb 43] | Partial [nb 44] | Yes | No | cvs | No |
CVSNT | RCS | Yes [nb 45] | Yes [nb 46] | Yes [nb 47] | Yes | Yes | No | cvs | Yes [nb 48] |
darcs | No | Yes | No | No [nb 49] | Partial [nb 50] | No | conflicts only | darcs | No |
Dimensions CM | Yes | No | Yes [nb 51] | Yes | Yes | Yes | Yes | Migration from ClearCase, Subversion, CVS, PVCS, ChangeMan DS | Unknown |
Fossil | No | Yes | Yes [nb 52] | No | execution bit only [38] | No | No | fossil (uses sqlite), any that has a fastexporter; [39] migration from git and svn [40] | No |
Git | No [nb 53] | Yes [nb 54] | Yes [41] | Yes [42] | execution bit only | No [nb 55] | Yes | git, cvs, subversion, hg, any that has a fastexporter | No |
Mercurial | Yes [43] | Yes [44] | Yes [45] | Yes [46] | execution bit only | through (alpha) extension [47] | Yes [48] | hg, subversion, [49] lossless two-way push to and pull from git, [50] migration from any other format supported by the Convert extension: [51] CVS, Darcs, Bazaar, Monotone, GNU Arch, and Perforce [52] | No |
Perforce Helix Core | Yes [53] | No | No | Yes | Yes | Yes [53] | Yes [53] | Perforce | No |
Rational Team Concert | No | Yes | Yes | Yes | Yes | Unknown | Yes | N/A | No |
Source Code Control System | Yes | No | — | Yes | execution bit only | some variants[ citation needed ] | No | sccs | No |
Surround SCM | Yes | No | No | Yes | No | Yes | Yes [nb 56] | Surround | No |
Subversion | Yes [54] | Partial [nb 57] | Yes [55] | Yes | execution bit only | Partial [nb 58] | Yes [nb 59] | subversion | No |
Vesta | No | No | Yes via SDL | No | Unknown | Yes | No | Vesta | Yes |
Visual SourceSafe | Yes | Unknown | Unknown | Yes | Yes | Unknown | Yes | Unknown | No |
Software | Keyword expansion | Interactive commits | External references | Partial checkout/clone | Permissions | Timestamp preservation | Custom automatic merge tool | Supported formats | Shared build cache of derived objects |
This table gives further insights about commands provided in the version-control softwares.
Table explanation
Software | Repository init | clone | pull | push | Local branches | checkout | update | lock | add | remove | move | copy | merge | commit | revert | generate bundle file | rebase |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
AccuRev SCM | mkdepot | N/A | N/A | N/A | mkstream | mkws | update | anchor | add | defunct | move | cp [then] add – incl -s – ln | merge | keep – promote | purge – revert | N/A | chstream |
Azure DevOps | using Git | clone using Git | get | commit | shelveset | checkout | get | lock | add | delete | rename | using Git | merge | commit | undo | using Git | get |
GNU Bazaar | init – init –no-tree [nb 60] – init-repo – init-repo –no-trees [nb 61] | branch – branch –no-tree [nb 62] | pull | push | init – branch | checkout – checkout –lightweight [nb 63] | update | N/A | add | rm | mv | N/A | merge | commit | revert | send | rebase [nb 64] |
BitKeeper | setup | clone | pull -R | push | clone | co | pull | Unknown | add | rm | mv | cp | pull | commit | undo | makepatch | collapse |
IBM DevOps Code ClearCase | init | N/A | N/A | N/A | N/A | checkout | update | lock – unlock | mkelem | rmname | mv | N/A | merge | checkin | uncheckout – rmver | N/A | findmerge |
CVS | init | N/A | N/A | N/A | N/A | checkout | update | Unknown | add | rm | N/A | N/A | update -j | commit | remove [then] update | N/A | N/A |
CVSNT | init | N/A | N/A | N/A | N/A | checkout | update | edit | add | rm | rename | N/A | update -j | commit | update -C | N/A | N/A |
darcs | init | clone | pull [56] | push | N/A [nb 65] | clone | pull [56] | Unknown | add | remove | move | N/A | pull – push | record | revert | send -o [nb 66] | rebase |
Fossil | new – open | clone | pull | push | branch – commit –branch | clone/open | update | N/A | add | rm/del | mv/rename | N/A | merge | commit | revert | Fossil's repository is single sqlite file itself | N/A |
Git | init – init –bare | clone – clone –bare | fetch | push | branch | checkout | pull | N/A | add | rm | mv | cp [then] git add [nb 67] | merge | commit | reset –hard | bundle | rebase |
Mercurial | init | clone | pull | push | bookmark [nb 68] | update – up – checkout – co | pull -u | N/A | add | remove – rm | move – mv | copy – cp | merge | commit – ci | revert | bundle | rebase [57] |
Monotone | init | clone | pull | push | N/A | checkout | update | Unknown | add | drop | rename | N/A | merge | commit | revert | N/A | N/A |
Perforce Helix Core | p4 client && p4 sync | p4 sync | p4 sync | p4 submit | Requires migration to recent streams feature | edit | sync | lock – unlock | add | delete | move | copy | integrate | submit | revert | Unknown | N/A |
Source Code Control System | create | N/A | N/A | N/A | admin -fb | get (readonly) – edit | get (readonly) – edit | N/A [nb 69] | create | N/A | N/A | N/A | edit -i | delta | get -r | N/A | edit -i |
Subversion | svnadmin create | svnadmin hotcopy | [work-around]: svnadmin load | [work-around]: svnadmin dump | N/A | checkout – co | update – up | lock | add | delete – del – remove – rm | move – mv – rename – ren | copy – cp | merge | commit – ci | revert | N/A | N/A |
Surround SCM | mkmainline | N/A | N/A | N/A | mkbranch | checkout | get | checkout | add | rm | move | N/A | merge | checkin | voidcheckout | N/A | rebase |
Vesta | vcreate | vrepl | vrepl | vrepl | N/A | vcheckout | vadvance | vcheckout | [… then] vcheckin [nb 70] | vrm | mv [then] vcheckin [nb 71] | cp [then] vcheckin [nb 72] | vdiff | vcheckin | vcheckin -c 0 | vmake [or] vesta | vadvance |
Visual SourceSafe | ? | Unknown | Unknown | Unknown | N/A | Get Latest | Get Latest | Check Out | Add Files | Delete | ? | Unknown | ? | Check In | Undo Check Out | Unknown | Unknown |
Software | Repository init | clone | pull | push | Local branches | checkout | update | lock | add | remove | move | copy | merge | commit | revert | generate bundle file | rebase |
The table shows the commands to execute common tasks and functionalities of few version-control softwares.
Table explanation
Software | Command aliases | Lock/unlock | Shelve/unshelve | Rollback | Cherry-picking | Bisect | Incoming/outgoing | Grep | Record |
---|---|---|---|---|---|---|---|---|---|
AccuRev SCM | No | enable file locking | No | revert – purge | promote | No | No | No | Unknown |
Azure DevOps | Yes | lock/unlock | shelve/unshelve | rollback | merge | No | Unknown | Unknown | No |
GNU Bazaar | [in '.bazaar/bazaar.conf' file] | No | shelve/unshelve | uncommit | merge (non-tracking) | bisect (bisect plugin) | missing –theirs-only/missing –mine-only | grep (grep plugin) | No |
BitKeeper | Unknown | Unknown | park/unpark | undo | Unknown | bisect | changes -R/-L | grep | Unknown |
CVSNT | [in '.cvsrc' file] | edit -x/unedit [nb 73] | No | admin -o [nb 74] | yes [nb 75] | annotate [nb 76] | No | no [58] | No |
Darcs | No | No | revert/unrevert | unrecord | yes [nb 77] | test –bisect | pull/push –dry-run | No | record |
Fossil | No | No | stash pop/stash apply [nb 78] | merge –rollback | merge –cherrypick | bisect | No | search | No |
Git | [in '.gitconfig' file] | No | stash/stash pop [nb 79] | reset HEAD^ | cherry-pick | bisect | cherry | grep | add -p |
Mercurial | [in '.hgrc' file] | No | shelve/unshelve (bundled extension [59] ) | strip (bundled extension [60] ) | graft(core [61] ) or transplant(bundled extension [62] ) | bisect | incoming/outgoing | grep | commit –interactive |
Monotone | [in monotonerc] | No | No | kill_rev_locally [nb 80] | pluck | bisect | No | No | Unknown |
Perforce Helix Core | via broker [63] | lock/unlock | shelve/unshelve | obliterate | integ [64] | Unknown | interchanges | grep | Unknown |
Subversion | No | lock/unlock | shelve/unshelve [nb 81] | No | svnmerge cherry-picking | Third party tool [nb 82] | status -u [nb 83] | No | No |
Surround SCM | No | checkout | shelf | rollback | duplicatechanges | No | diff | search | No |
Software | Command aliases | Lock/unlock | Shelve/unshelve | Rollback | Cherry-picking | Bisect | Incoming/outgoing | Grep | Record |
The table gives Web, GUI and IDE Interface specification of few version-control softwares.
Table explanation
Software | Web interfaces | Stand-alone GUIs | Integration and/or Plug-ins for IDEs |
---|---|---|---|
AccuRev SCM | Yes | Windows (incl. Explorer integration), Linux, Unix, macOS, BeOS available | IntelliJ IDEA, Eclipse, Visual Studio |
Azure DevOps | included (SharePoint Server used for web services) | Windows included; macOS, Unix available | Visual Studio. Java client for Eclipse IDE and IntelliJ IDEA (standard in Ultimate Edition) |
GNU Bazaar | can use a plain webserver | Olive, bzr-gtk (GTK+), Bazaar Explorer (Qt), QBzr (Qt), TortoiseBzr (Windows) | Eclipse (BzrEclipse, QBzrEclipse), Visual Studio (bzr-visualstudio), TextMate (TextMateBundle), Komodo IDE, Wing IDE |
BitKeeper | included | included (bkd) | Unknown |
CA Software Change Manager | included | Eclipse-based GUI | Eclipse, MS Visual Studio |
IBM DevOps Code ClearCase | included, Clearcase Web Interface | older: MS Windows native, Motif-based GUI for Unix-like systems, TSO client for z/OS. | Emacs, Eclipse ( IBM Proprietary, Eclipse-CCase ), Visual Studio (IBM proprietary), KDevelop (standard?), IntelliJ IDEA (standard in Ultimate Edition) |
Code Co-op | Not necessary since entire project is replicated locally | Windows | Unknown |
CVS | cvsweb, ViewVC, others | TortoiseCVS (Windows Explorer), TkCVS (Tcl/Tk), WinCVS, macOS, GTK, Qt available | Eclipse (Team), KDevelop (standard), IntelliJ IDEA (standard in Community and Ultimate Editions), Emacs (standard VC), Komodo IDE, BBEdit, Wing IDE |
CVSNT | cvsweb, ViewVC, others | Windows, macOS, OS/400, GTK, Qt available | All those that support CVS, plus commercial plugins for SCCI, Bugzilla, Build |
darcs | darcs.cgi included; darcsweb, Trac | under development; TortoiseDarcs (Windows Explorer), macOS (alpha), | Eclipse (eclipsedarcs), Emacs (vc-darcs.el) |
Dimensions CM | Yes | Windows (incl. explorer integration) | Eclipse, Visual Studio, IntelliJ IDEA, XCode, Powerbuilder |
Fossil | Embedded webserver included (ui/server mode), ability to run multiple repositories via CGI mode | fuel-scm | Unknown |
Git | Gitweb, wit, cgit, GitLab, GitHub, gitorious, Trac, Kallithea, Bitbucket, Stash, Springloops, Bonobo Git Server, Gitea, Gogs | gitk, git-gui (Tcl/Tk), tig, Gitbox (macOS), TortoiseGit, qgit, gitg (GNOME/GTK), (h)gct (Qt), git-cola (Qt), Git Extensions (Windows), GitEye, SmartGit/Hg, Tower, SourceTree (macOS/Windows), Sprout (macOS), GitX (macOS), GitUp (macOS), GitKraken, Sublime Merge | Aptana 3 Beta (Aptana Studio 3 with Git Integration); Atom; Eclipse (JGit/EGit); Helix TeamHub; Netbeans (NbGit); KDevelop; Visual Studio (Git Extensions); Emacs (extension for standard VC); SAP Web IDE; TextMate (Git TextMate Bundle); Vim (VCSCommand plugin and fugitive plugin); IntelliJ IDEA >8.1 (standard in Community and Ultimate Editions); Komodo IDE; Anjuta; XCode, Wing IDE; PyCharm |
GNU arch | ArchZoom | ArchWay (GTK2), TlaLog | Emacs (standard VC) |
IC Manage | included | Windows, Linux, Unix, macOS | Emacs, Cadence Design Framework, Synopsys Custom Designer |
MKS Integrity | Yes | Windows, Linux, Unix, Solaris, AIX, | Eclipse, Microsoft Visual Studio, Perforce and others. Also provides support for the industry standard Source Code Control (SCC) interface [65] |
Mercurial | included, [nb 84] Trac, Kallithea | Hgk (Tcl/Tk), (h)gct (Qt), TortoiseHg (Windows Explorer, Nautilus), MacHg, MacMercurial, Murky, SourceTree (Windows/macOS), TortoiseHg, SmartGit/Hg | IntelliJ IDEA (hg4idea 3rd party plugin), Eclipse (Mercurial Eclipse), NetBeans, Visual Studio 2008, Emacs, Vim (VCSCommand plugin), Komodo IDE, Eric Python IDE, Wing IDE |
Monotone | ViewMTN, TracMonotone, | Monotone-Viz (GTK+), Guitone (Qt), Monotone Browser (GTK+, Perl) | Unknown |
Perforce Helix Core | included, P4Web, P4FTP | Windows, Linux, Mac macOS | Eclipse, Visual Studio, Matlab; Game Engines: Unity, Unreal, Amazon Lumberyard; Graphics: Autodesk Maya, 3ds max, Adobe PS |
Rational Team Concert | Yes | Eclipse-based GUI | Eclipse integration; MS Visual Studio integration(Limited) |
StarTeam | included | Windows, Java, Eclipse, Visual Studio, BDS2006 integration, plus Java command-line | IntelliJ IDEA (standard in Ultimate Edition), Visual Studio, JBuilder, Eclipse |
Subversion | Apache 2 module included, WebSVN, ViewSVN, ViewVC, Trac, SharpForge, sventon, Springloops | Java, KDESVN, macOS [66] (including Finder integration), Nautilus, Qt, RabbitVCS, RapidSVN, SourceTree (macOS), TortoiseSVN (Windows Explorer) | Anjuta, BBEdit, Eclipse (Subclipse, Subversive), Emacs (standard VC), IntelliJ IDEA (standard in Community and Ultimate Editions), KDevelop (standard), Komodo IDE, MonoDevelop (standard), Netbeans, RabbitVCS (for GEdit), TextMate (SVNMate plugin), Visual Studio (AnkhSVN, VisualSVN), Wing IDE. See also Comparison of Subversion clients |
Surround SCM | Yes | Windows, macOS, Linux | Eclipse, IntelliJ IDEA, JDeveloper, NetBeans, Visual Studio, WebStorm |
Synergy | via Telelogic Change interface | Windows (incl. explorer integration), Linux, Unix | Eclipse (Telelogic proprietary), Visual Studio (Telelogic proprietary), IntelliJ IDEA (Telelogic proprietary) |
Vault | included | Windows, Unix-like, macOS | Visual Studio 2003 and higher, Eclipse 3.2 and higher |
Vesta | VestaWeb | No | No |
Visual SourceSafe | none included; SSWI, VSS Remoting | Windows included; Linux, macOS and Solaris using SourceOffSite; any Java VM using Sourceanywhere for VSS | Visual Studio, IntelliJ IDEA (standard in Ultimate Edition) |
Software | Web interfaces | Stand-alone GUIs | Integration and/or plug-ins for IDEs |
Here is few meta-data and historic background of few version-control softwares
Table explanation
Software | History | Notable current users |
---|---|---|
AccuRev SCM | First publicly released in 2002 | |
Azure DevOps Server | First publicly released in March, 2006 as Visual Studio Team System, renamed to Team Foundation Server in 2010 and Azure DevOps Server in 2019. | Microsoft |
Azure DevOps Services | First publicly released in 2012 as Team Foundation Service, renamed to Visual Studio Online in 2013, Visual Studio Team Services in 2015 and Azure DevOps in 2018. | Microsoft |
GNU Bazaar | Initial release March 26, 2005. Loosely related to baz. Sponsored by Canonical Ltd. | |
BitKeeper | Initial release May 4, 2000. Influenced by Sun WorkShop TeamWare | |
CA Software Change Manager | Original company founded in 1977; CA SCM (then called CCC/Harvest) first released in 1995. | |
IBM DevOps Code ClearCase | Developed beginning in 1990 by Atria Software, following concepts developed by Apollo Computer in DSEE during the 1980s. The most recent version is 9.0.0, released in March 2016. | |
Code Co-op | The first distributed VCS, demoed in 1997, [67] released soon after. | |
CVS | First publicly released July 3, 1986; based on RCS | NetBSD, OpenBSD |
CVSNT | First publicly released 1998; based on CVS. Started by CVS developers with the goal adding support for a wider range of development methods and processes. | |
darcs | First announced on April 9, 2003 | |
Dimensions CM | Developed by SQL Software under the name "PCMS Dimensions" during the late 1980s (PCMS standing for Product Configuration Management). Through number of company acquisitions the product was released under names "PVCS Dimensions" (1990s, Intersolv), "Dimensions" (early 2000s, Merant), "ChangeMan Dimensions" (2004, Serena Software) and finally "Dimensions CM" (since 2007, Serena Software). | |
Fossil | Fossil and SQLite have used Fossil since 21 July 2007. | |
Git | Started by Linus Torvalds in April 2005, following the BitKeeper controversy. [68] | Linux kernel, Android, OpenJDK, Bugzilla, DragonFly BSD, FreeBSD, gcc, [69] GNOME, GNU Emacs, GnuPG, [70] GRUB2, KDE, MySQL, Perl 5, [71] PostgreSQL, Python, [72] X.Org, Cairo, Qt Development Frameworks, Samba, OpenEmbedded, Ruby, Ruby on Rails, Wine, Fluxbox, Openbox, Compiz Fusion, XCB, Xen, ELinks, XMMS2, e2fsprogs, GNU Core Utilities, DokuWiki, Drupal, LibreOffice, MediaWiki, [73] Mono, ASP.NET MVC, ADO.NET Entity Framework, NuGet, jQuery and many of its plugins, OpenCV, Twitter, Netflix, LinkedIn, Wireshark, Django, many companies like Eclipse Foundation, Ericsson, Microsoft, [74] Huawei, Apple, Amazon, LG |
GNU arch | Started by Tom Lord in 2001, it later became part of the GNU project. Lord resigned as maintainer in August 2005. | |
IC Manage | Developed by IC Manage, Inc which was founded in 2003 by Shiv Sikand and Dean Drako. | |
PTC Integrity | Originally developed by MKS Software. Purchased by PTC in May 2011 [75] | |
Mercurial | Started April 6, 2005 by Matt Mackall, following the BitKeeper controversy. [68] First released on April 19, 2005 | |
Monotone | First released in April 2003 | |
Perforce Helix Core | Developed by Perforce Software, Inc which was founded in 1995 by Christopher Seiwald. | |
Rational Team Concert | Version 1.0 released in June, 2008 | |
Revision Control System | July 1985 | |
Source Code Control System | Started by Marc Rochkind in 1972 (binary history files, written in Snobol on IBM-370, [76] SCCSv4 with text history files was published February 18, 1977. [77] The same history file format is still used in SCCS 5.0. [78] | |
StarTeam | Version 1.0 1995; [79] Developed by StarBase software, acquired by Borland(which was acquired by Micro Focus). | |
Apache Subversion | Started in 2000 by CVS developers with goal of replacing CVS | |
Synergy | Developed beginning in 1988 by Caseware, as AmplifyControl. The company was renamed Continuus in 1994, where the product became better known as Continuus/CM. Continuus was acquired by Telelogic in 1999 shortly after going public; the product was renamed Telelogic Synergy. IBM acquired Telelogic in 2008 for integration into their Rational tool suite. The product is now known as IBM Rational Synergy. | |
Vault | First publicly released in February, 2003 | Unknown |
Vesta | First publicly released under the LGPL in 2001 | |
Visual SourceSafe | originally created by a company called One Tree Software, version 3.1. Company was bought by Microsoft which released version 4.0 of VSS around 1995 | |
Software | History | Notable current users |
edit
, removed when creating a delta.In software engineering, version control is the act of controlling computer files and versions of files. Primarily files are source code text files, but generally can be any type of file.
Apache Subversion is a software versioning and revision control system distributed as open source under the Apache License. Software developers use Subversion to maintain current and historical versions of files such as source code, web pages, and documentation. Its goal is to be a mostly compatible successor to the widely used Concurrent Versions System (CVS).
The history of software configuration management (SCM) can be traced back as early as the 1950s, when CM, originally for hardware development and production control, was being applied to software development. Early software had a physical footprint, such as cards, tapes, and other media. The first software configuration management was a manual operation. With the advances in language and complexity, software engineering, involving configuration management and other methods, became a major concern due to issues like schedule, budget, and quality. Practical lessons, over the years, had led to the definition, and establishment, of procedures and tools. Eventually, the tools became systems to manage software changes. Industry-wide practices were offered as solutions, either in an open or proprietary manner. With the growing use of computers, systems emerged that handled a broader scope, including requirements management, design alternatives, quality control, and more; later tools followed the guidelines of organizations, such as the Capability Maturity Model of the Software Engineering Institute.
GNU arch software is a distributed revision control system that is part of the GNU Project and licensed under the GNU General Public License. It is used to keep track of the changes made to a source tree and to help programmers combine and otherwise manipulate changes made by multiple people or at different times.
Monotone is an open source software tool for distributed revision control. It 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. Monotone is designed for distributed operation, and makes heavy use of cryptographic primitives to track file revisions and to authenticate user actions.
Git is a distributed version control system that tracks versions of files. It is often used to control source code by programmers collaboratively developing software.
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.
Mantis Bug Tracker is a free and open source, web-based bug tracking system. The most common use of MantisBT is to track software defects. However, MantisBT is often configured by users to serve as a more generic issue tracking system and project management tool.
Mercurial is a distributed revision control tool for software developers. It is supported on Microsoft Windows, Linux, and other Unix-like systems, such as FreeBSD and macOS.
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.
Buildbot is a software development continuous integration tool which automates the compile or test cycle required to validate changes to the project code base. It began as a light-weight alternative to the Mozilla project's Tinderbox, and is now used by Python, WebKit, LLVM, Blender, ReactOS, and many other projects.
GNU Bazaar is a distributed and client–server revision control system sponsored by Canonical.
In version control software, a changeset is a set of alterations packaged together, along with meta-information about the alterations. A changeset describes the exact differences between two successive versions in the version control system's repository of changes. Changesets are typically treated as an atomic unit, an indivisible set, by version control systems. This is one synchronization model.
Fisheye is a revision-control browser and search engine owned by Atlassian, Inc. Although Fisheye is a commercial product, it is freely available to open source projects and non-profit institutions. In addition to the advanced search and diff capabilities, it provides:
TortoiseHg is a GUI front-end for Mercurial that runs on Microsoft Windows, Mac OS X, and Linux.
Plastic SCM is a cross-platform commercial distributed version control tool developed by Códice Software 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.
In version control systems, a repository is a data structure that stores metadata for a set of files or directory structure. Depending on whether the version control system in use is distributed, like Git or Mercurial, or centralized, like Subversion, CVS, or Perforce, the whole set of information in the repository may be duplicated on every user's system or may be maintained on a single server. Some of the metadata that a repository contains includes, among other things, a historical record of changes in the repository, a set of commit objects, and a set of references to commit objects, called heads.
Bisection is a method used in software development to identify change sets that result in a specific behavior change. It is mostly employed for finding the patch that introduced a bug. Another application area is finding the patch that indirectly fixed a bug.
TeamCity is a build management and continuous integration server from JetBrains. It was first released on October 2, 2006 and is commercial software and licensed under a proprietary license: a freemium license for up to 100 build configurations and three free Build Agent licenses are available. Open Source projects may request a free license.
{{cite web}}
: CS1 maint: archived copy as title (link){{cite web}}
: CS1 maint: archived copy as title (link)