Comparison between Mercurial

Back to main page

   
SCM feature: Mercurial Add to comparison: +CVS
+AccuRev
+Aegis
+AllChange
+Arch
+Bazaar
+BitKeeper
+ClearCase
+CM+
+CMSynergy
+Co-Op
+Darcs
+Git
+LibreSource Synchronizer
+Monotone
+OpenCM
+Perforce
+PureCM
+SourceAnywhere
+Subversion
+Superversion
+Surround SCM
+svk
+Team Foundation Server
+Vesta
+Visual SourceSafe
Atomic Commits
Yes.
Files and Directories Moves or Renames
Yes. Renames are supported.
Intelligent Merging after Moves or Renames
No. the Mercurial book says: "When you use the 'hg rename' command, Mercurial makes a copy of each source file, then deletes it and marks the file as removed. "
File and Directories Copies
Yes. Copies are supported
Remote Repository Replication
Yes.
Propagating Changes to Parent Repositories
Yes.
Repository Permissions
Yes. It is possible to lock down repositories, subdirectories, or files using hooks.
Changesets' Support
Yes. Changesets are supported.
Tracking Line-wise File History
Yes. (hg annotate)
Ability to Work only on One Directory of the Repository
It is possible to commit changes only in a subset of the tree. There are plans for partial checkouts.
Tracking Uncommited Changes
Yes. Using hg diff.
Per-File Commit Messages
No.
Documentation
Very good. There is a companion book and a wiki. Every command has integrated help.
Ease of Deployment
Excellent. Binary packages are available for all popular platforms. Building from source requires only Python 2.3 (or later) and a C compiler.
Command Set
Tries to follow CVS conventions, but deviates where there is a different design.
Networking Support
Excellent. Uses HTTP or ssh. Remote access also works safely without locks over read-only network filesystems.
Portability
Excellent. Runs on all platforms supported by Python. Repositories are portable across CPU architectures and endian conventions.
Web Interface
Yes. The web interface is a bundled component.
Availability of Graphical User-Interfaces.
History viewing available with hgit extension; check-in extension (hgct) makes committing easier. Some third-party IDEs and GUI tools (e.g. eric3, meld) have integrated Mercurial support.
 


Information taken from Better SCM Initiative website by Shlomi Fish (shlomif@iglu.org.il).

Reorganized for usability by Alexey Mahotkin (Version Control Blog) in 2008.

 

Creative Commons License
This work is licensed under a Creative Commons License.