Bazaar

Bazaar

 




Wiki Tools

  • Find Page
  • Recent Changes
  • Page History
  • Attachments

Differences between revisions 21 and 23 (spanning 2 versions)
Revision 21 as of 2006-02-20 13:39:07
Size: 3586
Editor: MatthieuMoy
Comment:
Revision 23 as of 2006-02-20 13:52:59
Size: 4351
Editor: MatthieuMoy
Comment: Two more criteria
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
This page is a user-oriented comparison of different revision control system. For a more technical comparison, see ["RCSChoices" RCSChoices]. See also ["SCMComparisons" SCMComparisons] for a brief presentation of each system and how they compare to Bazaar in particular. 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.
Line 18: Line 18:
||Can use standard fileserver||Yes||Yes||No||No || ||Somewhat || ||Yes ||
||Can work over email || Planned||No||No ||No || || || ||Yes ||
Line 59: Line 61:
Whether the tool records Cherrypick history. Whether the tool records CherryPick history.
Line 63: Line 65:
Whether the tool is extensible with plugins. Whether the tool is extensible with plugins. See BzrPlugins for the case of bzr.

== 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.

== Can work over email ==

Whether the tool can easily work over email. This is usefull for example for an occasional contribution to a project, without having to publish a branch. See SubmitByMail.

This chart is a rough draft

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.

Overview

RCS Name

Bazaar-NG

Arch

CVS

Subversion

Git

Hg

Monotone

Darcs

Decentralized

Yes

Yes

No

No[#3 (3)]

Yes

Yes

Yes

Yes

Simple/No Namespace

Yes

No

No

Yes

No

No

Yes

Supports Renames

Yes

Yes

No

Yes

Yes[#2 (2)]

No[#1 (1)]

Yes

Yes

Optional Repository

None

Req

Req

Req

Has standalone branches

Yes

No

No

No

Yes?

Yes

Yes

Has Checkouts

Yes

Yes

Yes

Yes

No

Has Revisions

Yes

Yes

No

Yes

Smart Merge

Yes

Yes

No

No

No?

Yes

Yes

Cherrypicks

Yes

Yes

Yes

Yes

Yes

Yes

Plugins

Yes

No

No

Can use standard fileserver

Yes

Yes

No

No

Somewhat

Yes

Can work over email

Planned

No

No

No

Yes

(note: it would be interesting to have a small benchmark too, like "time to run XXX diff/import/commit in the linux kernel",)

Details about each feature

Decentralized

Whether the tool is designed to allow branches of the same project to be in different remote repositories.

Simple/No Namespace

The namespace is the way a revision control system identifies a revision uniquely. It can be user-visible (GNU Arch), or tool internal (bzr, git, ...).

Optional Repository

?

What does "req" mean?

Supports Renames

Whether the tool supports file renaming and merging changes to a renamed file.

Has Checkouts

A [Checkout checkout] is a working tree with a relatively small amount of metadata.

Has Revisions

?

Has standalone branches

A StandaloneBranch is a directory containing both a working tree and the history.

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 records CherryPick history.

Plugins

Whether the tool is extensible with plugins. See BzrPlugins for the case of bzr.

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.

Can work over email

Whether the tool can easily work over email. This is usefull for example for an occasional contribution to a project, without having to publish a branch. See SubmitByMail.

Footnotes

Anchor(1) 1. Support for renames in hg is being implemented. Unlike bzr, it uses rename history instead of unique file ID.

Anchor(2) 2. Git has a very particular management of renames. It does not track renames at commit time at all. However, it "guesses" them at merge time. Since it uses hashes, it can immediately see renames without modifications, and otherwise, it has to use a heuristic to find the file with the closest content. Linus claims that this is the best model, while other find it completely broken. See for example [http://www.mail-archive.com/git@vger.kernel.org/msg03711.html this post].

Anchor(3) 3. Subversion is surely not a decentralized revision control system (see for example [http://subversion.tigris.org/subversion-linus.html this page] if you're not convinced). However, [http://svk.elixus.org/ svk] is built on top of subversion and is a decentralized revision control system.