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