Comparison of revision control software

Comparison of revision control software

The following is a comparison of revision control software. The following tables includes general and technical information for notable revision control and software configuration management (SCM) software.

Contents

General information

Software Maintainer Development status Repository model Concurrency model License Platforms supported Cost
AccuRev SCM AccuRev, Inc. actively developed Client–server Merge or lock Proprietary Most Java Platforms (Unix-like, Windows, Mac OS X) Non-free Quoted on an individual basis.
Bazaar Canonical Ltd. actively developed Distributed[1] Merge GPL Unix-like, Windows, Mac OS X Free
BitKeeper BitMover Inc. actively developed Distributed Merge Proprietary Unix-like, Windows, Mac OS X Non-free Quoted on an individual basis.
CA Software Change Manager CA Technologies[2] actively developed Client-server Merge or Lock Proprietary Unix, Linux, Windows, i5/OS Non-free Named licenses available with volume discounts available
ClearCase IBM Rational actively developed Client–server Merge or lock[3] Proprietary Linux, Windows, AIX, Solaris, HP UX, i5/OS, OS/390, z/OS, Non-free $4600 per floating license (held automatically for 30-minutes minimum per user, can be surrendered manually)
Code Co-op Reliable Software actively developed Distributed Merge Proprietary Windows Non-free $150 per seat
Codeville Ross Cohen official site offline; latest release July 13, 2007; 4 years ago (2007-07-13) Distributed precise codeville merge BSD Unix-like, Windows, Mac OS X Free
CVS The CVS Team[4] maintained but new features not added Client–server Merge GPL Unix-like, Windows, Mac OS X Free
CVSNT March Hare Software[5] and community members maintained and new features under development Client–server Merge or lock GPL or proprietary Unix-like, Windows, Mac OS X, i5/OS Free for older version or £85 commercial license for latest version of CVS Suite or Change Management Server
darcs The Darcs team actively developed Distributed Merge GPL Unix-like, Windows, Mac OS X Free
Dimensions (software) Serena Software Production Client–server Merge Proprietary Unix-like, Windows, z/OS Non-free $3520 per user
Fossil D. Richard Hipp actively developed Distributed Merge BSD POSIX, Windows, Mac OS X, Other Free
Git Junio Hamano actively developed Distributed Merge GPL POSIX, Windows, Mac OS X Free
GNU arch Andy Tai unmaintained Distributed Merge GPL Unix-like, Windows, Mac OS X Free
IC Manage IC Manage Inc. actively developed Client–server Merge or lock Proprietary Unix-like, Windows, Mac OS X Non-free Commercial
Integrity Integrity, a PTC Company actively developed Client–server Merge or lock Proprietary Unix-like, Windows Non-free
LibreSource Synchronizer Artenum[6] maintained and new features under development Client–server extended to "tree"[7] Merge GPL[8] Unix-like, Windows, Mac OS X Free
Mercurial Matt Mackall actively developed Distributed Merge GPL Unix-like, Windows, Mac OS X Free
Monotone Nathaniel Smith, Graydon Hoare actively developed Distributed Merge GPL Unix-like, Windows, Mac OS X Free
Perforce Perforce Software Inc. actively developed Client–server Merge or lock Proprietary Unix-like, Windows, Mac OS X Free for up to 2 users and 5 workspaces, or unlimited users with up to 1,000 files, or for OSS or educational use; else $900 per seat in perpetuity, with volume discounts, or $360 per seat on a subscription model[9]
Plastic SCM Codice Software actively developed Client–server Merge or lock Proprietary Linux, Windows, Mac OS X Free for up to 15 users; else starting at $595 per seat, or $3,500 per 25 developers per year[10]
Rational Team Concert IBM Rational actively developed Client–server[11][12][13] Merge or lock Proprietary Linux, Windows, AIX, Solaris, HP UX, i5/OS, OS/390, z/OS, Free for up to 10 users; else non-free
SCM Anywhere Dynamsoft Corporation actively developed Client–server Merge or Lock Proprietary Unix-like, Windows, Mac OS X Non-free Single user free; $299 per user, bulk discount available
Sourceanywhere Standalone Dynamsoft Corporation actively developed Client–server Merge or Lock Proprietary Unix-like, Windows, Linux, Mac OS X Non-free Single user free; $299 per user, bulk discount available
StarTeam Borland (Micro Focus) actively developed Client–server Merge or lock Proprietary Windows and Cross-platform via Java based client Non-free $7500 per concurrent, $2500 per fixed user.
Subversion (SVN) Apache Software Foundation[14] actively developed Client–server[15] Merge or lock[16] Apache/BSD style Unix-like, Windows, Mac OS X Free
SVK Best Practical[17] maintenance through 2010, no new features[18] Client–server, decentralized Merge Artistic/GPL Unix-like, Windows, Mac OS X Free
Team Foundation Server Microsoft actively developed Client–server Merge or lock Proprietary Server: Windows Server 2003; Clients: Windows and Web included Non-free Licensed through MSDN subscription or through direct buy
Synergy IBM Rational actively developed Client–server and Distributed Merge or lock Proprietary Linux, Windows, Unix-like Non-free Contact IBM Rational[19]
Vault SourceGear LLC[20] actively developed Client–server Merge or lock Proprietary Unix-like, Linux, Windows Non-free $300 per user
Vesta Kenneth Schalk; Tim Mann[21], [22] actively developed 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 Microsoft serious bug fixes only Shared Folder Merge or lock Proprietary Windows Non-free ~$500 per license or single license included with each MSDN subscription.
Software Maintainer Development status Repository model Concurrency model License Platforms supported Cost

Table Explanation

  • Software: The name of the application that is described.
  • Maintainer: The company or group that is currently taking responsibility for the software's maintenance or development
  • Development Status: The current status of the software project
  • Repository model: describes the relationship between various copies of the source code repository. In a client–server model, users access a master repository via a client; typically, their local machines hold only a working copy of a project tree. Changes in one working copy must be committed to the master repository before they are propagated to other users. In a distributed model, repositories act as peers, and users typically have a local repository with version history available, in addition to their working copies.
  • Concurrency model: describes how changes to the working copy are managed to prevent simultaneous edits from causing nonsensical data in the repository. In a lock model, changes are disallowed until the user requests and receives an exclusive lock on the file from the master repository. In a merge model, users may freely edit files, but are informed of possible conflicts upon checking their changes into the repository, whereupon the version control system may merge changes on both sides, or let the user decide when conflicts arise. Note that distributed version control almost always implies a merge concurrency model.
  • License: The license model under which the software is licensed. These can be both free and paid licenses
  • Platforms Supported: The operating systems that the software application currently supports.
  • Cost: The price of the software application

Technical information

Software Programming language History model Scope of change Revision IDs Network protocols Source code size
AccuRev SCM C++, Java Changeset Unknown Numbers custom Unknown
Bazaar Python, Pyrex, C[23] Snapshot Tree Pseudorandom HTTP, SFTP, FTP, custom, custom over ssh, custom over HTTP, email bundles[24], WebDAV (with plugin) 4.1 MB
BitKeeper C Changeset Tree Unknown Unknown Unknown
CA Software Change Manager C, C++, Java, HTML Changeset and Snapshot File and Tree Numbers TCP/IP, HTTP Unknown
ClearCase C, Java, Perl Changeset File Numbers HTTP, custom (CCFS), custom (MVFS filesystem driver) Unknown
Code Co-op C++ Changeset Unknown User ID-Ordinal e-mail (MAPI, SMTP/POP3, Gmail), LAN Unknown
Codeville Python Unknown Unknown Unknown Unknown Unknown
CVS C Changeset File Numbers pserver[25], ssh 3.3 MB
CVSNT C++ Changeset Unknown Numbers sspi, sserver, gserver, pserver, custom over ssh 4.4MiB
darcs Haskell Patch Tree n/a HTTP, custom over ssh, email 1.7 MB
Fossil C Snapshot Tree SHA-1 hashes HTTP 7.2 MB[26]
Git C, shell scripts, Perl Snapshot Tree SHA-1 hashes Git Server Protocol[27] over TCP or ssh, rsync, HTTP/HTTPS, email, bundles 10.2 MB
GNU arch C, shell scripts Changeset Tree Numbers WebDAV, HTTP Unknown
IC Manage C++, C Changeset Unknown Numbers custom Unknown
Integrity C, Java Changeset File Numbers HTTP, custom Unknown
LibreSource Synchronizer Java Changeset Unknown Timestamps HTTP, File-System Unknown
Mercurial Python, C Changeset Tree Numbers,[28] SHA-1 hashes HTTP, custom over ssh, email bundles (with standard plugin) 1.2 MB
Monotone C++ Hybrid[29] Tree SHA-1 hashes custom (netsync), custom over ssh, file system 4.4 MB
Perforce C++, C Changeset Tree Numbers custom Unknown
Rational Team Concert Java Changeset Tree Numbers REST services over HTTP/HTTPS Unknown
SCM Anywhere C++, Java, C# Changeset File and Tree Numbers SOAP over HTTP or HTTPS Unknown
Sourceanywhere Standalone C++, Java Changeset File and Tree Numbers TCP/IP Unknown
StarTeam C, Java Snapshot Unknown MD5 hashes custom, TCP/IP Unknown
Subversion C Changeset and Snapshot Tree Numbers custom (svn), custom (svn) over ssh, HTTP and SSL (using WebDAV) 5.2 MB
SVK Perl Changeset Tree Numbers Unknown Unknown
Synergy Java Changeset (text), Snapshot(binary) File Numbers HTTP, custom over ssh, custom Unknown
Team Foundation Server C++ and C# Changeset Unknown Numbers SOAP over HTTP or HTTPS Unknown
Vault C# Changeset Unknown Unknown HTTP, HTTPS Unknown
Vesta C++ Snapshot Tree Unknown NFS 15.8 MB
Visual SourceSafe C Snapshot File Numbers SMB, DCOM Unknown
Software Programming language History model Scope of change Revision IDs Network protocols Source code size

Table explanation

  • Software: The name of the application that is described.
  • Programming language: The coding language in which the application is being developed
  • History model: describes the form in which changes are stored in the repository. For example, when a change is committed, a system could store a copy of the tree before and after the change (snapshot), or it might instead store a copy of the tree before the change and a changeset representing the changes.
  • Scope of change: Describes whether changes are recorded for individual files or for entire directory trees.
  • Revision IDs: are used internally to identify specific versions of files in the repository. Systems may use pseudorandom identifiers, content hashes of revisions, or filenames with sequential version numbers (namespace). With Integrated Difference, revisions are based on the Changesets themselves, which can describe changes to more than one file.
  • Network protocols: lists the protocols used for synchronization of changes.
  • Source code size: Gives the size of the source code in megabytes.

Features

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 Yes Yes Yes Yes Yes Yes N/A Yes Unknown Unknown
Bazaar Yes Yes Yes Yes Yes Partial[30] Yes Yes[31] Yes Yes Yes Unknown
BitKeeper Yes Yes Unknown Unknown Unknown Unknown Yes Unknown Yes Unknown Unknown Unknown
CA Software Change Manager Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Unknown
ClearCase Partial[32] Yes Yes Yes Yes Yes Yes Yes Yes Yes[33] Unknown Unknown
Code Co-op Yes Yes Yes No Partial No No No Yes Unknown Unknown Unknown
Codeville Unknown Unknown Unknown Unknown Unknown Unknown Unknown Unknown Unknown 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 Unknown
darcs Yes Yes Yes No Yes Yes N/A[34] No Yes No Unknown Unknown
Dimensions (software) No Yes No No No No No No Yes No No Unknown
Fossil Yes Yes Yes No No Yes Yes Yes Yes Yes Yes Unknown
Git Yes Partial[35] Yes Yes Yes Partial[36] Yes Yes Yes Partial[37] Yes[38] No
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
Integrity Yes Yes Yes No Yes Yes[39] Yes[40] Yes Yes Yes Yes Unknown
LibreSource Synchronizer Yes Yes Yes No Partial[41] No Yes[42] No Yes Unknown Unknown Unknown
Mercurial Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes[43] No[44] Partial[45]
Monotone Yes Yes Yes No[46] Yes Yes, mandatory Yes Yes Yes Unknown Yes Unknown
Perforce Yes Yes[47] Yes[48] Yes Yes Yes Yes[49] Yes Yes Yes[50] Yes[51] Yes
Rational Team Concert Yes Yes Yes Yes Yes[52] Yes Yes Yes Yes Yes Yes Unknown
StarTeam Yes[53] Yes Unknown No No No Yes Yes Yes Yes Unknown Unknown
Subversion Yes Yes[54] No Yes Yes No Yes[55]. Yes Partial[56] Yes Yes Yes
SVK Yes Yes Yes Yes Yes[57] Yes[58] Yes Yes Yes Yes Unknown Unknown
Synergy Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes[59] Unknown
Team Foundation Server Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes 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[60] Unknown Partial[61] 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

Table Explanation

  • Software: The name of the application that is described.
  • Atomic commits: refers to a guarantee that all changes made are merged, or that no change at all will be made.
  • File renames: describes whether a system allows files to be renamed while retaining their version history.
  • Merge file renames: describes whether a system can merge changes made to a file on one branch into the same file that has been renamed on another branch (or vice versa). If the same file has been renamed on both branches then there is a rename conflict that the user must resolve.
  • Symbolic links: describes whether a system allows revision control of symbolic links as with regular files. Versioning symbolic links is considered by some people a feature and some people a security breach (e.g., a symbolic link to /etc/passwd). Symbolic links are only supported on select platforms, depending on the software.
  • Pre/post event hooks: indicates the capability to trigger commands before or after an action, such as a commit, takes place.
  • Signed revisions: refers to integrated digital signing of revisions, in a format such as OpenPGP.
  • Merge tracking: describes whether a system remembers what changes have been merged between which branches and only merges the changes that are missing when merging one branch into another.
  • End of line conversions: describes whether a system can adapt the end of line characters for text files such that they match the end of line style for the operating system under which it is used. The granularity of control varies. Subversion, for example, can be configured to handle EOLs differently according to the file type, whereas Perforce converts all text files according a single, per-client setting.
  • Tags: indicates if meaningful names can be given to specific revisions, regardless of whether these names are called tags or labels.
  • International Support: indicates if the software has support for multiple language environments and operating system
  • Unicode filename support: indicates if the software has support for interoperations under file systems using different character encodings.
  • Supports large repos: Can the system handle repositories of around a gigabyte or larger effectively?

Advanced features

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 Unknown No
Bazaar Yes[62] Yes[63] Yes[64] No execution bit only No[65] Yes[66] bzr, subversion[67], git[68], hg[69], any that has a fastexporter No
BitKeeper POSIX and RCS Yes Unknown Unknown Yes Unknown Yes bitkeeper No
CA Software Change Manager No Yes No Yes execution bit only Yes Yes CA Software Change Manager No
ClearCase Yes[70] No No Yes Yes Yes[71] Yes ClearCase Yes
CVS RCS No Yes Yes[72] Partial[73] Yes No cvs No
darcs No Yes No No[74] Partial[75] No conflicts only darcs No
Fossil No Yes No No execution bit only[76] Unknown No fossil (uses sqlite), any that has a fastexporter[77] No
Git Yes[78] Yes[79] Yes[80] No[81] execution bit only No[82] Yes git, cvs, subversion, hg, any that has a fastexporter No
Mercurial Yes[83] Yes[84] Yes[85] Partial[86] execution bit only Yes[87] non-trivial cases only hg, subversion[88], git[89], any other format supported by the Convert extension[90] No
Rational Team Concert Yes Yes Yes Yes Yes Unknown Unknown N/A No
SVK Yes Yes[91] Unknown Yes Unknown Unknown Unknown subversion No
Subversion Yes[92] No Yes[93] Yes Partial[94] Partial[95] Yes[96] subversion No
Vesta No No Yes via SDL No Unknown Yes No Vesta Yes
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

Table Explanation

  • keyword expansion: Supports automatic expansion of keywords such as file revision number.
  • interactive commits: Interactive commits allow the user to cherrypick the patch-hunks that become part of a commit (leaving unselected changes as changes in the working copy), instead of having only a file-level granularity. See darcs record.
  • external references: embedding of foreign repositories in the source tree
  • partial checkout/clone: Ability to check out or clone only a specified subdirectory from a repository.
  • permissions: Tracks file permission bits in the revision history.
  • timestamp preservation: Overwrites the last modified filesystem attribute with the commit time upon checkout.
  • custom automatic merge tool: Automatic merging can be attempted by any tool of the user's choice (hopefully configurable on a per-file basis)
  • supported formats: either read/write support or read-only (conversion, potentially repeated)
  • shared build cache of derived objects: the ability to wink-in derived-objects that were built by other confederated clients that share exactly the same dependencies instead of rebulidng them locally

Basic Commands

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 No No promote mkstream mkws update anchor add defunct move No merge keep revert No chstream
Bazaar init branch pull push create-local-branch[97] checkout update Unknown add rm mv No merge commit revert send rebase[98]
ClearCase init No No No No checkout edcs lock / unlock mkelem rmname mv No merge checkin uncheckout/rmver No findmerge
CVS init No No No No checkout update Unknown add rm No No update -j commit remove [then] update No No
darcs init get/put pull push N/A[99] get pull Unknown add remove move No pull / push record revert send -o[100] Coming soon[dated info]
Fossil new/open clone pull push branch / commit --branch clone/open update No add rm/del mv/rename No merge commit revert No No
Git init / init --bare clone fetch[101] push branch clone pull No add rm mv cp [then] git add[102] merge commit checkout bundle rebase
Mercurial init clone pull push bookmark[103] clone pull -u No add rm mv copy merge commit revert bundle rebase[104]
Monotone init clone pull push No checkout update Unknown add drop rename No merge commit revert No No
Perforce p4d Unknown Unknown Unknown No edit sync lock / unlock add delete move Unknown resolve submit revert Unknown Unknown
SVK svk depotmap [or] svnadmin create) mirror pull push copy checkout update Unknown add rm mv cp merge commit revert No smerge -I
Subversion svnadmin create svnadmin hotcopy [work-around:] svnadmin load [work-around:] svnadmin dump No checkout update lock add rm mv cp merge commit revert No No
Vesta vcreate vrepl vrepl vrepl No vcheckout vadvance vcheckout [… then] vcheckin[105] vrm mv [then] vcheckin[106] cp [then] vcheckin[107] vdiff vcheckin vcheckin -c 0 vmake [or] vesta vadvance
Visual SourceSafe ? Unknown Unknown Unknown No 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

Table Explanation

  • Commands in green rectangles that are not surrounded by [square brackets] are at an interactive command-line prompt. Text in [square brackets] is an explanation of where to find equivalent functionality.
  • repository init: Create a new empty repository (i.e., version control database)
  • clone: Create an identical instance of a repository (in a safe transaction)
  • pull: Download revisions from a remote repository to a local repository
  • push: Upload revisions from a local repository to a remote repository
  • local branches: Create a local branch that does not exist in the original remote repository
  • checkout: Create a local working copy from a (remote) repository
  • update: Update the files in a working copy with the latest version from a repository
  • lock: Lock files in a repository from being changed by other users
  • add: Mark specified files to be added to repository at next commit
  • remove: Mark specified files to be removed at next commit (note: keeps cohesive revision history of before and at the remove.)
  • move: Mark specified files to be moved to a new location at next commit
  • copy: Mark specified files to be copied at next commit
  • merge: Apply the differences between two sources to a working copy path
  • commit: Record changes in the repository
  • revert: Restore working copy file from repository
  • generate bundle file: Create a file that contains a compressed set of changes to a given repository
  • rebase: Forward-port local commits to the updated upstream head

Advanced commands

Software command aliases lock/unlock shelve/unshelve rollback cherry-picking bisect incoming/outgoing grep record
AccuRev SCM No enable file locking keep / co revert / purge patch No No No Unknown
Bazaar alias No shelve/unshelve uncommit merge (non-tracking) bisect (bisect plugin) missing --theirs-only/missing --mine-only grep (grep plugin) Unknown
Darcs No No revert/unrevert unrecord yes[108] trackdown[109] pull/push --dry-run No record
Fossil No No stash pop/stash apply[110] merge --rollback merge --cherrypick bisect No search No
Git [in '.gitconfig' file] No stash/stash pop[111] reset HEAD^ cherry-pick bisect cherry grep add -p
Mercurial [in '.hgrc' file] No shelve/unshelve (bundled extension[112]) rollback graft(core[113]) or transplant(bundled extension[114]) bisect incoming/outgoing grep record (bundled extension[115])
Monotone [in monotonerc] No No kill_rev_locally[116] pluck bisect No No Unknown
Perforce via broker[117] lock/unlock shelve/unshelve obliterate integ[118] Unknown Unknown grep Unknown
SVK No No No No svk merge No status[119] No No
Subversion No lock/unlock No No svnmerge cherry-picking Third party tool[120] status -u[121] No No
Team Foundation Server Yes lock/unlock shelve/unshelve Unknown Unknown No Unknown Unknown No
Software command aliases lock/unlock shelve (stash)/unshelve rollback cherry-picking bisect incoming/outgoing grep record

Table Explanation

  • Commands in green rectangles that are not surrounded by [square brackets] are at an interactive command-line prompt. Text in [square brackets] is an explanation of where to find equivalent functionality.
  • command aliases: create custom aliases for specific commands or combination thereof
  • lock/unlock: exclusively lock a file to prevent others from editing it
  • shelve/unshelve: temporarily set aside part or all of the changes in the working directory
  • rollback: remove a patch/revision from history
  • cherry-picking: move only some revisions from a branch to another one (instead of merging the branches)
  • bisect: binary search of source history for a change that introduced or fixed a regression
  • incoming/outgoing: query the differences between the local repository and a remote one (the patches that would be fetched/sent on a pull/push)
  • grep: search repository for lines matching a pattern
  • record: include only some changes to a file in a commit and not others

User interfaces

Software Web interfaces Stand-alone GUIs Integration and/or Plug-ins for IDEs
AccuRev SCM Yes Windows (incl. explorer integration), Linux, Unix, Mac OS X, BeOS available IntelliJ IDEA, Eclipse, Visual Studio
Bazaar can use a plain webserver, webserve, Launchpad, loggerhead or Trac Olive, bzr-gtk (GTK+), Bazaar Explorer (Qt), QBzr (Qt), TortoiseBzr (Windows) Eclipse (BzrEclipse, QBzrEclipse), Visual Studio (bzr-visualstudio), TextMate (TextMateBundle), Komodo IDE
CA Software Change Manager included Eclipse-based GUI Eclipse, MS Visual Studio
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, codeBeamer, others TortoiseCVS (Windows Explorer), WinCVS, Mac OS X, GTK, Qt available Eclipse (Team), KDevelop (standard), IntelliJ IDEA (standard in Community and Ultimate Editions), Emacs (standard VC), Komodo IDE, BBEdit
CVSNT cvsweb, ViewVC, others Windows, Mac OS X, 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), Mac OS X (alpha), Eclipse (eclipsedarcs), Emacs (vc-darcs.el)
Git gitweb, wit, cgit, GitHub, gitorious, Trac, codeBeamer gitk, git-gui (Tcl/Tk), tig, Gitbox (Mac OS X), TortoiseGit, qgit, gitg (GNOME/GTK), (h)gct (Qt), git-cola (Qt), Git Extensions (Windows Explorer), SmartGit, Tower, SourceTree, Sprout (Mac OS X), GitX (Mac OS X) Aptana 3 Beta (Aptana Studio 3 with Git Integration); Eclipse (JGit/EGit); Netbeans (NbGit); Visual Studio (Git Extensions); Emacs (extension for standard VC); TextMate (Git TextMate Bundle); Vim (VCSCommand plugin); IntelliJ IDEA >8.1 (standard in Community and Ultimate Editions); Komodo IDE; Anjuta
GNU arch ArchZoom ArchWay (GTK2), TlaLog Emacs (standard VC)
IC Manage included Windows, Linux, Unix, Mac OS X Emacs, Cadence Design Framework, Synopsys Custom Designer
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[122]
LibreSource Synchronizer LibreSource Windows, Linux, Unix, Mac OS X available[123] Unknown
Mercurial included[124], Bitbucket, Trac, codeBeamer Hgk (Tcl/Tk), (h)gct (Qt), TortoiseHg (Windows Explorer, Nautilus), MacHg ,

MacMercurial, Murky, SourceTree (MacOS X), TortoiseHg

IntelliJ IDEA (hg4idea 3:rd party plugin), Eclipse (Mercurial Eclipse), NetBeans ([125]), Visual Studio 2008 ([126]), Emacs, Vim (VCSCommand plugin), Komodo IDE
Monotone ViewMTN, TracMonotone, Monotone-Viz (GTK+), Guitone (Qt), Monotone Browser (GTK+, Perl) Unknown
Perforce included, P4Web, P4FTP Windows, Linux, Unix, Mac OS X, BeOS available Eclipse, Visual Studio (P4SCC), KDevelop (standard?), IntelliJ IDEA (standard in Ultimate Edition), Komodo IDE, BBEdit, Emacs (p4.el)
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, Warehouse, codeBeamer Java, KDESVN, Mac OS X[127] (including Finder integration), Nautilus, Qt, RabbitVCS, RapidSVN, 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). See also Comparison of Subversion clients
Synergy via Telelogic Change interface Windows (incl. explorer integration), Linux, Unix Eclipse (Telelogic proprietary), Visual Studio (Telelogic proprietary), IntelliJ IDEA (Telelogic proprietary)
Team Foundation Server 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)
Vault included Windows, Unix-like, Mac OS X Visual Studio 2003 and higher, Eclipse 3.2 and higher
Vesta VestaWeb No No
Visual SourceSafe none included; SSWI, VSS Remoting Windows included; Linux, Mac OS 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

Table explanation

  • Software: The name of the application that is described.
  • Web Interface: Describes whether the software application contains a web interface. A web interface could allow the software to post diagnostics data to a website, or could even allow remote control of the software application.
  • GUIs: A GUI is a graphical user interface. If a software product features a GUI its functionality can be accessed through application windows as opposed to accessing functionality based upon typing commands at the command prompt such as a DOS interface.
  • Plug-ins: functionality is available through an Integrated Development Environment. Minimum functionality should be to list the revision state of a file and check in/check out files.

History and adoption

Software History Notable users
AccuRev SCM 2002 First publicly released in 2002 Ford, SanDisk, Sony, Orbitz, American Airlines, Polycom[128]
Bazaar Loosely related to baz. Sponsored by Canonical Ltd.. Ubuntu, Launchpad, KatchTV[129], MySQL, GRUB2, Bugzilla, GNU Emacs
BitKeeper Evolved from Sun WorkShop TeamWare Linux Kernel (2002–2005) and many companies[130]
CA Software Change Manager Original company founded in 1977; CA SCM (then called CCC/Harvest) first released in 1995. CA does not disclose customer lists without the companies' permission. CA SCM is used by companies with global development teams including 13 of the Fortune 100.
ClearCase 1990 Developed beginning in 1990 by Atria Software, following concepts developed by Apollo Computer in DSEE during the 1980s. The most recent version is 7.1.1, released in Dec 2009. IBM, Alcatel-Lucent, Cisco, Motorola, Siemens, Ericsson, Nokia and other large organizations worldwide[citation needed]
Code Co-op 1997 The first distributed VCS, demoed in 1997,[131] released soon after. Clients include: Logitech, HP, Ericsson[citation needed]
CVS 1986 First publicly released July 3, 1986; based on RCS thousands of organizations worldwide[citation needed]
CVSNT 1998 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 2003 First announced on April 9, 2003 GHC, Mnet, xmonad, Projects Using Darcs
Fossil 2007 Fossil and SQLite have used Fossil since 21 July 2007. SQLite, Fossil
Git 2005 Started by Linus Torvalds in April 2005, following the BitKeeper controversy.[132] Linux kernel, GNOME, Perl 5,[133] X.Org, Cairo, Qt Development Frameworks, Samba, OpenEmbedded, Ruby on Rails, Wine, Fluxbox, Openbox, Compiz Fusion, XCB, ELinks, XMMS2, e2fsprogs, GNU Core Utilities, DokuWiki (Also see list of Git projects)
GNU arch 2005 Started by Tom Lord, it later became part of the GNU project. Lord resigned as maintainer in August 2005. available for GNU Savannah and Gna.org projects
IC Manage 2003 Developed by IC Manage, Inc which was founded in 2003 by Shiv Sikand and Dean Drako. many organizations worldwide[134]
Integrity 2003 Originally developed by MKS Software. Purchased by PTC in May 2011[135] Many global engineering and IT organizations[136]
LibreSource Synchronizer 2005 First publicly released on June 13, 2005 Most of the LibreSource Community
Mercurial 2005 Started April 6, 2005 by Matt Mackall, following the BitKeeper controversy.[132] First released on April 19, 2005 Mozilla, NetBeans, Xine, Xen, OpenJDK, OpenOffice.org, OpenSolaris, wmii, MoinMoin, Linux-HA, Python[137] (Also see list of projects using Mercurial)
Monotone 2003 First released in April 2003 CTWM, Pidgin, Xaraya, I2P[138]
Perforce 1993 Developed by Perforce Software, Inc which was founded in 1995 by Christopher Seiwald. many organizations worldwide[139], FreeBSD[140], Google[141]
Rational Team Concert 2008 Version 1.0 released on June, 2008 IBM
Revision Control System 1985 July 1985 RCS is generally (but not always) superseded by other systems such as CVS, which began as a wrapper on top of RCS.
Source Code Control System 1972Started by Marc Rochkind in 1972 (binary history files, written in Snobol on IBM-370[citation needed]), SCCSv4 with text history files was published February 18 1977.[citation needed] The same history file format is still used in SCCSv5.[original research?] as the POSIX source-control tool, SCCS is widely available on UNIX platforms, but not included in many Linux distributions. Sun WorkShop TeamWare uses SCCS files.
StarTeam 1995 Version 1.0 1995[142]; Developed by StarBase software, acquired by Borland(which was acquired by Micro Focus). Borland, BT, Cintas, EDS, Kaiser Permanente, Met Office, Quest Software, Raymond James, Siemens, and many more globally distributed companies[143]
Subversion 2000 Started in 2000 by CVS developers with goal of replacing CVS ASF, SourceForge, FreeBSD, Google Code, KDE, GCC, Ruby, Mono, PuTTY, Zope, Xiph, GnuPG, CUPS, Wireshark, TWiki, Django, available on CodePlex, and many organizations worldwide[144]
SVK 2003 Authored by Chia-liang Kao with Audrey Tang. First version was on November 19, 2003. 1.00 on May 9, 2005. 2.0.0 on Dec 28th, 2006. SVK became a product of Best Practical on June 5, 2006. Request Tracker
Synergy 1988 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. General Motors, BMW, Chrysler, Nokia, Philips, Raytheon, Morgan Stanley, Friends Provident, Boeing, Lockheed Martin, Siemens and other small, medium and large organizations worldwide[citation needed]
Team Foundation Server 2006 First publicly released on March, 2006 Available on CodePlex, Microsoft itself and other large organizations worldwide[citation needed]
Vault 2003 First publicly released in February, 2003 Unknown
Vesta 1991 First publicly released under the LGPL in 2001 DEC Alpha team, Compaq Alpha team, Intel microprocessor development
Visual SourceSafe 1995 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 Unknown
Software History Notable users

Table Explanation

  • Software: The name of the application that is described.
  • Notable users: is a list of well known projects using the software as their primary revision control system, excluding the software itself, followed by a link to a full list if available.
  • History: briefly describes the software's origins and development.

See also

References

  1. ^ Bazaar is a Distributed version control system but it can also be used in a centralized manner using lock step development and checkouts.
  2. ^ Computer Associates, http://www.ca.com/ .
  3. ^ In ClearCase, a trigger may be set to allow for the lock model, and this is done at many sites. However, ClearCase development usually takes place on private branches where each developer is given their own branch, so the lock vs. merge concurrency model doesn't matter as much. Code is merged back to the main branch once the developer is ready to deliver their code to the project.
  4. ^ "CVS team member list", Non-GNU Savannah, The GNU Project, http://savannah.nongnu.org/project/memberlist.php?detailed=1&group=cvs .
  5. ^ CVS Pro, March Hare, http://march-hare.com/cvspro/ .
  6. ^ http://www.artenum.com
  7. ^ "a workspace can be synchronized with more than one LibreSource Synchronizer. As a limitation, the network must have tree topology." says LibreSource Synchronizer.
  8. ^ As of version 2.5, "LibreSource is now released under GPL Version 2". http://dev.libresource.org/home/news/Mature_the_collaborative_forge_LibreSource_now_released_under_GPL. 
  9. ^ http://www.perforce.com/perforce/price.html
  10. ^ http://www.plasticscm.com/buy.aspx
  11. ^ RTC is not a distributed revision control system; but has some distributed feature that can be configured
  12. ^ http://jazz.net/forums/viewtopic.php?p=11515&sid=da1bc38df144162adacddaaacacc76db
  13. ^ http://jazz.net/blog/index.php/2010/11/05/countdown-to-the-next-rational-team-concert-part-ii-source-control-enhancements/
  14. ^ http://www.apache.org/
  15. ^ SVK allows Subversion to have Distributed branches.
  16. ^ In Subversion, a file attribute enables the lock model on per-file basis. This file attribute can be set automatically using file name wildcard expressions.
  17. ^ http://bestpractical.com/
  18. ^ "The Future of SVK". May 28, 2009. http://lists.bestpractical.com/pipermail/svk-devel/2009-May/001224.html. Retrieved June 6, 2009. 
  19. ^ http://www.ibm.com/software/awdtools/synergy
  20. ^ http://www.sourcegear.com
  21. ^ http://sourceforge.net/projects/vesta
  22. ^ http://www.vestasys.org
  23. ^ Bazaar's critical modules are written in Pyrex. They are automatically translated to pure C; except for the patience sorting module, used in merge resolution, which is written directly in the C language.
  24. ^ A Bazaar bundle is a summary diff, with sufficient extra information to preserve history.
  25. ^ http://www.elegosoft.com/cvs/cvsclient.html
  26. ^ 4 MB of which are sqlite3.c
  27. ^ Git Server Protocol
  28. ^ Mercurial revision numbers are local to a repository; they can differ from repository to repository depending on in which order merges are performed.
  29. ^ A Monotone's revisions represent changesets and its manifests represent snapshots, each revision is linked to some manifest. But manifests are legacy constructs, they aren't kept in the database anymore and reconstructed on the fly if needed. The real work now happen in rosters which are hybrid snapshot/changeset structures.
  30. ^ They can be automatically generated and manually verified, but verification is not automatic; http://bazaar-vcs.org/BzrGpgSigning
  31. ^ EOL conversions are supported since bzr 1.14
  32. ^ Atomic commit can be enabled for individual checkin's ClearCase 7.1.1 release notes.
  33. ^ Support Policy for National Languages and ClearCase from IBM Support
  34. ^ darcs' patches each bear a unique identifier, impossible to merge twice the same patch in a repository (without destructively modifying history using "unsafe" commands).
  35. ^ Git does not explicitly track renames, because by design it does not track individual files. Renames and split of source files are detected after the fact, if the file content does not change dramatically.
  36. ^ Git does not sign commits, only tags. See the -s option in git-tag(1) Manual page
  37. ^ Git itself is not internationalized, just git-gui and gitk (both are shipped with git).
  38. ^ libgit2 and msysgit is starting storage the internal file name as UTF8, so the answer is near to YES
  39. ^ Integrity enabled change packages provide complete workflow and 21 CFR Part 11 compliant digital signatures against the item controlling the change package.
  40. ^ 2009 SP5 added a feature to merge child development paths.
  41. ^ Its possible to embed the action in a shell or Ant script.
  42. ^ A merged is tracked by its workspace origin.
  43. ^ Mercurial is in the process of being translated to at least dutch and chinese
  44. ^ Mercurial is encoding agnostic and hence can work with all file names without problems. Indeed, it's can not checkout those files properly, so the answer is no.
  45. ^ Largefiles Extension since Hg Rev.:2.0
  46. ^ It could be done via user level hooks
  47. ^ [1] from the Perforce User's Guide
  48. ^ [2] from the Perforce User's Guide
  49. ^ http://www.perforce.com/perforce/technotes/note009.html
  50. ^ http://kb.perforce.com/?article=66
  51. ^ http://kb.perforce.com/article/66/internationalization-and-localization#i18n
  52. ^ Through the procees behaviour components: Operation advisors and Operation participants. http://jazz.net/library/article/292
  53. ^ StarTeam supports atomic commits as of version 2006
  54. ^ Subversion can move a file and conserve its history, if and only if the target of the move is in the same Subversion repository as the source. Cross-repository moves require third-party tools such as svk. Also, a rename operation is actually a copy-with-history-and-delete sequence.
  55. ^ New to SVN 1.5 (http://subversion.apache.org/docs/release-notes/1.5.html#merge-tracking). A separate tool "svnmerge" (http://www.dellroad.org/svnmerge/) provides merge tracking for older versions.
  56. ^ In Subversion, tags are a special case of the more generic "cheap copy" concept of Subversion. Per convention, a tag is a copy into a directory named "tags". Because of this, even tags are versioned. See http://svnbook.red-bean.com/nightly/en/svn.branchmerge.tags.html for more information. The reason for partial support in the table is because Subversion's emulation of tags in this manner does not meet the requirement that the tag name can be used in place of any revision identifier wherever the user may be required to enter one. This column would be meaningless if the definition were to be loosened enough to encompass Subversion's approach as every version control system supports branching and would therefore support tags as well.
  57. ^ Uses subversion server
  58. ^ Signature - SVK Wiki
  59. ^ in Asian releases, v6.6a to v7.1a
  60. ^ Version change history is removed upon rename; old name not referenced.
  61. ^ Files in different places can be 'shared' and change simultaneously.
  62. ^ Bazaar keywords plugin
  63. ^ Bazaar interactive plugin
  64. ^ Bazaar Externals plugin
  65. ^ not implemented yet
  66. ^ "Ignore merge operation for given extension". https://answers.launchpad.net/bzr/+question/103163. 
  67. ^ bzr-svn
  68. ^ bzr-git
  69. ^ bzr-hg
  70. ^ IBM Rational ClearCase: The ten best triggers from IBM DeveloperWorks
  71. ^ Can not be disabled in dynamic views.
  72. ^ Using alias of the CVSROOT/modules file.
  73. ^ CVS records executable bit when a file is added, but does not allow changing it later on.
  74. ^ Darcs can do sparse checkouts from explicit checkpoints on darcs-1 repositories, but not from darcs-2 ones[citation needed]
  75. ^ Darcs can automatically detect #! scripts and make them executable on checkout.
  76. ^ The manifest, Fossil file formats
  77. ^ Fossil import and export
  78. ^ The Git FAQ states that keyword expansion is not a good thing
  79. ^ add -i and add -p, see git-add(1) Manual Page
  80. ^ git-submodule(1) Manual Page
  81. ^ The Git Community Handbook clearly explains that "Git does not allow partial checkouts"
  82. ^ The Git FAQ explains why preserving modification time is considered harmful
  83. ^ Mercurial KeywordExtension page
  84. ^ Mercurial RecordExtension page
  85. ^ hgforest repository
  86. ^ [3]
  87. ^ Mercurial Timestamp Extension
  88. ^ hgsubversion page
  89. ^ Hg-Git Mercurial Plugin
  90. ^ Mercurial ConvertExtension page
  91. ^ commit --interactive, see SVK::Command::Commit
  92. ^ Keyword Substitution
  93. ^ Externals Definitions
  94. ^ SVN records file permissions when a file is added, but does not allow changing them later on.
  95. ^ SVN can not preserve file modification times. On request by the client, it can restore check-in time as last-modified time. Disabled by default.
  96. ^ MIME type of the file must be detected as a "human-readable" MIME type, even if the merge tool can work with non-human-readable files
  97. ^ bzr-local-branches plugin
  98. ^ rebase plugin
  99. ^ darcs doesn't have named branches, local or not, branching is handled solely through repository cloning
  100. ^ darcs send prepares a bundle of patches, defaults to sending it by mail but can send it to a file instead
  101. ^ pull is fetch plus merge.
  102. ^ copies are detected after the fact, much like renames
  103. ^ Mercurial Bookmarks are similar to local branches.
  104. ^ Mercurial rebase extension project's page
  105. ^ Through any of various means, place (to-be-immutable) file in an immutable directory prior to vcheckin.
  106. ^ mv(1) or link(2) the immutable file from its origin immutable directory to its destination immutable directory prior to vcheckin.
  107. ^ Through any of various means, copy the immutable file from its origin immutable directory to its destination immutable directory prior to vcheckin.
  108. ^ darcs operate on patches not revision, cherrypicking simply consists in pulling a given patch from one repository to another one as long as the dependencies are fulfilled
  109. ^ trackdown performs an automated search by repeatedly running a provided command on previous revisions on the working copy until the command succeeds (doesn't return an error code)
  110. ^ fossil stash supports multiple shelves with comments.
  111. ^ git stash is a multi-level shelve, it's possible to shelve several change groups at the same time
  112. ^ Mercurial Shelve extension page
  113. ^ graft -core command (since Hg Rev.2.0)
  114. ^ Mercurial Transplant extension page
  115. ^ Mercurial Record extension page
  116. ^ Only works on a local repository and only on revisions without children. The disapprove command might be an alternative.
  117. ^ The Perforce Broker
  118. ^ http://kb.perforce.com/article/567/
  119. ^ svk status lists differences between working copy and repository, not differences between two repositories
  120. ^ SVN Bisect tool svn-bisect
  121. ^ svn status lists differences between working copy and repository, not differences between two repositories
  122. ^ http://www.mks.com/customer-service/supported-versions-platforms-integrations/supported-integrations
  123. ^ Any OS that support a Java Virtual Machine 1.5
  124. ^ hgweb for single-repository access and hgwebdir for multiple repository access from a single HTTP address
  125. ^ http://wiki.netbeans.org/wiki/view/MercurialVersionControl
  126. ^ http://www.newsupaplex.pp.ru/hgscc_news_eng.html
  127. ^ http://www.lachoseinteractive.net/en/community/subversion/svnx/features/
  128. ^ http://www.accurev.com/customers.html
  129. ^ http://bazaar-vcs.org/WhoUsesBzr
  130. ^ http://www.bitkeeper.com/Customers.html
  131. ^ http://portal.acm.org/citation.cfm?id=716428&dl=ACM&coll=portal
  132. ^ a b Towards A Better SCM: Revlogs and Mercurial, presented by Matt Mackall to the Ottawa Linux Symposium, July 2006
  133. ^ http://dev.perl.org/perl5/source.html
  134. ^ http://icmanage.com/customer.html
  135. ^ http://www.mks.com/about-MKS/press/press-releases/ptc-sets-new-standard-for-managing-hardware-and-software-development-lifecycles-with-mks-integrity-acquisition
  136. ^ http://www.mks.com/customers
  137. ^ http://www.python.org/dev/peps/pep-0374/#decision transition ongoing
  138. ^ http://www.venge.net/monotone/wiki/ProjectsUsingMonotone
  139. ^ http://www.perforce.com/perforce/customers.html
  140. ^ http://www.freebsd.org/doc/en_US.ISO8859-1/articles/p4-primer/index.html
  141. ^ http://www.perforce.com/perforce/conferences/eu/2010/Presentations/Geoff_Mendal-Strategic_Plan.paper.pdf
  142. ^ http://web.archive.org/web/19980507011804/demo.starbase.com/WebDraw+Old+Web+Site/StarTeam/StarTeam.htm
  143. ^ http://www.borland.com/us/customers/profiles/view-by-product.jsp
  144. ^ http://subversion.tigris.org/testimonials.html

External links


Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Look at other dictionaries:

  • List of revision control software — This is a list of notable software for revision control. Distributed model In the distributed approach, each developer works directly with their own local repository, and changes are shared between repositories as a separate step. Open source *… …   Wikipedia

  • Comparison of file synchronization software — This is a list of file synchronization software. File synchronization is a process of ensuring that files in two or more locations are updated via certain rules. Contents 1 Open source 2 Freeware 3 Commercial 4 See also …   Wikipedia

  • Revision control — For the Wikipedia revision control system, see Wikipedia:Revision control. Example history tree of a revision controlled project. Revision control, also known as version control and source control (and an aspect of software configuration man …   Wikipedia

  • Distributed revision control — A distributed revision control system (DRCS), distributed version control or decentralized version control (DVCS) keeps track of software revisions and allows many developers to work on a given project without necessarily being connected to a… …   Wikipedia

  • Merge (revision control) — Merging (also called integration) 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… …   Wikipedia

  • Software configuration management — In software engineering, software configuration management (SCM) is the task of tracking and controlling changes in the software. Configuration management practices include revision control and the establishment of baselines.SCM concerns itself… …   Wikipedia

  • Comparison of open source software hosting facilities — A source code repository or source code escrow[citation needed] 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… …   Wikipedia

  • Git (software) — Infobox Software name = Git author = Linus Torvalds developer = Junio Hamano, Linus Torvalds latest release version = 1.6.0.2 [cite mailing list |mailinglist=git |author=Junio C Hamano |url=http://marc.info/?l=git m=122128644221821… …   Wikipedia

  • Subversion (software) — infobox Software name = Subversion developer = CollabNet released = initial release|2000|10|20 frequently updated = yes operating system = Cross platform programming language = C genre = Revision control license = Apache License website =… …   Wikipedia

  • Bazaar (software) — infobox software name = Bazaar caption = Bazaar logo author = Martin Pool released = 14 December 2007 programming language = Python developer = Canonical Ltd. and community latest release version = 1.7.1 latest release date = release date and… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”