| SCM feature: | PureCM | Vesta |
Add to comparison:
+CVS +AccuRev +Aegis +AllChange +Arch +Bazaar +BitKeeper +ClearCase +CM+ +CMSynergy +Co-Op +Darcs +Git +LibreSource Synchronizer +Mercurial +Monotone +OpenCM +Perforce +SourceAnywhere +Subversion +Superversion +Surround SCM +svk +Team Foundation Server +Visual SourceSafe |
|---|---|---|---|
|
Atomic Commits |
Yes. Commits are atomic. | ||
|
Files and Directories Moves or Renames |
Yes. File and folder renames and moves are directly supported. | Yes. The unit of checkout/checkin is a directory tree. Files and directories can be added, deleted, and renamed between versions. | |
|
Intelligent Merging after Moves or Renames |
Yes, intelligent renames are supported. | Unknown. FILL IN. | |
|
File and Directories Copies |
Yes. Copies are supported. | Yes. A new package/branch can be based on any existing version without affecting the past history. (This is also an O(1) operation.) | |
|
Remote Repository Replication |
Yes. Using the PureCM Proxy Server. | Yes. Replication is a fundamental part of the design. | |
|
Propagating Changes to Parent Repositories |
No. | Yes. | |
|
Repository Permissions |
Yes. Permissions can be set against repositories, streams (branches/labels), folders and files using Access Control Lists. | Yes. Access permissions for each package (the unit of checkout/checkin) can be different. Access permissions for a branch can be different from the basis package. | |
|
Changesets' Support |
Yes. Changesets are supported. | Not exactly. Vesta uses a related concept of configurations instead, which some has similar properties. | |
|
Tracking Line-wise File History |
Yes, annotation is available through the GUI. | No, but it would be easy to implement a tool that did this, as the Vesta repository provides direct filesystem access to all versions. | |
|
Ability to Work only on One Directory of the Repository |
Yes. | Yes and no. The unit of checkout/checkin (called a package) is a directory tree. Most projects use more than one. Once created, a package must be checked out/in as a unit. | |
|
Tracking Uncommited Changes |
Yes. | Yes. Intermediate immutable snapshots can be taken during an active checkout (with vadvance). These intermediate versions can be treated just like checked in versions: they can be replicated to other repositories and used as the basis for branches. | |
|
Per-File Commit Messages |
No. Commit messages are per change. | Not exactly. The unit of checkin is a directory, and commit messages are assigned at that level, not to individual files. Since configurations are also versioned, they also have commit messages. | |
|
Documentation |
Very Good (html and command line help) | Quite thoroughly (HTML, man pages, published papers, a book-length research report). | |
|
Ease of Deployment |
Very good. PureCM is very easy to deploy. | Medium to Good. There is a detailed installation guide for setting it up using a binary kit. RPMs and Debian packages have been recently released. There are no dependencies on other software. There is a bootstrap package available to build Vesta from using "make". | |
|
Command Set |
A CVS-like command set which is easy to get used to for CVS-users. | The command set is unrelated to CVS. Most of the time, users use about 5 commands. Few ever need to know more than about 20 commands. | |
|
Networking Support |
Good. (single TCP/IP socket) | Networking is inherent to the system. The repository exports both an NFS interface and an RPC interface. The checkout and checkin tools automatically contact a remote repository when required to perform an operation. | |
|
Portability |
Excellent. Client and Server run on Windows, Linux, Solaris and other UNIXes. The client also runs on Mac OS X. | Good. It should be portable to any UNIX system. Currently it runs on Digital/Compaq/HP Tru64 UNIX and Linux on several different CPU architectures. Ports to Solaris and FreeBSD are planned but haven't begun yet. | |
|
Web Interface |
Yes. | Yes: Vestaweb. | |
|
Availability of Graphical User-Interfaces. |
Cross-platform GUI for Windows, Linux, Mac OS X and other UNIXes. | No GUIs are available, but the repository has a C++ API, and it is not hard to write one. (At least three different project-specific ones have been written by users at Compaq and Intel.) | |
|
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. |
|