← Revision 100 as of 2009-05-14 18:26:53
converted to 1.6 markup
|Deletions are marked like this.||Additions are marked like this.|
|Line 1:||Line 1:|
|/!\ This chart is a rough draft /!\||There was a comparison of version control systems here, but it was of limited use and has been removed. See instead the [[Bzr]] feature list.|
|Line 3:||Line 3:|
|This page is a user-oriented comparison of different revision control system. For a more technical comparison, see ["RCSChoices"]. See also ["SCMComparisons"] (note: this may be better to move the content of this page here) for a brief presentation of each system and how they compare to Bazaar-NG in particular. The determination on this chart is based upon the core installation and features that are already working in devel.
= Overview =
||RCS Name ||Bazaar-NG||Arch||CVS ||Subversion||Git ||Hg ||Monotone||Darcs||
||Decentralized ||Yes ||Yes ||No ||No ||Yes ||Yes||Yes ||Yes ||
||Simple Namespace ||Yes ||No ||No ||Yes ||No ||No ||No ||Yes ||
||Supports Renames ||Yes ||Yes ||No ||Yes ||Yes ||No ||Yes ||Yes ||
||Needs Repository ||No ||Yes ||Yes ||Yes || || || || ||
||Checkouts ||Yes ||No ||Yes ||Yes || || || ||No ||
||Atomic Commit ||Yes ||Yes ||No ||Yes || || || || ||
||[:Merge:Smart Merge] ||Yes ||Yes ||No ||No ||No? || ||Yes ||Yes ||
||[:CherryPick:Cherrypicks] ||Yes ||Yes ||Yes ||Yes || ||Yes||Yes ||Yes ||
||[:BzrPlugins:Plugins] ||Yes ||No ||No || || || || || ||
||Has Special Server ||No ||No ||Yes ||Yes || || || || ||
||Req. Dedicated Server||No ||No ||Remote||Remote ||No ||No ||No ||Yes ||
||Good Windows support ||Yes ||No ||Yes ||Yes ||No ||Yes|| || ||
= Details about each feature =
== Decentralized ==
Whether the tool is designed to allow [:Branch:branches] of the same project to be in different remote [:Repository:repositories].
== Simple Namespace ==
The namespace is the way the RCS communicates with the user the various resources for the RCS such as the names for branches and the names for [:Revision:revisions] that are [:Merge:merge]. For example: requiring the user to refer to revisions with base-16 numbers is not considered "simple" in this document.
== Needs Repository ==
Some revision control systems require that branches be aggregated into [:Repository:repositories].
== Supports Renames ==
If a user can rename a file in the RCS without loosing the RCS history for a file, then renames are considered supported. If the operation resultes in a delete/add (aka "DA pair"), then renames are not considered supported.
== Has Checkouts ==
A ["Checkout"] is a [:WorkingTree:working tree] that points elsewhere for its RCS data.
== Atomic Commit ==
Does the RCS track which files were associated with which commit.
== Smart Merge ==
Whether the tool is able to know which revisions have to be merged (recording merge history is a necessary condition for this).
== Cherrypicks ==
Whether the tool allows CherryPick (fine-grained selection of revisions to be merged).
== Plugins ==
Whether the tool is extensible with plugins. Our plugins are on the BzrPlugins page.
== Can use standard fileserver ==
Whether the tool can work with a standard file server (HTTP for read-only operations, ftp/sftp/webdav or others for write operations). This allows you to host a repository on almost any internet service provider without dedicated support.
== Work on partial checkout ==
Whether a user can checkout only a subdirectory of a project and work on it.
== Windows support ==
Whether the Microsoft Windows platform is well supported.
|See also [[http://en.wikipedia.org/wiki/Comparison_of_revision_control_software|Comparison of Revision Control Software]] on wikipedia for another relatively complete comparison.|