| SCM feature: | Vesta |
Add to comparison:
+CVS +AccuRev +Aegis +AllChange +Arch +Bazaar +BitKeeper +ClearCase +CM+ +CMSynergy +Co-Op +Darcs +Git +LibreSource Synchronizer +Mercurial +Monotone +OpenCM +Perforce +PureCM +SourceAnywhere +Subversion +Superversion +Surround SCM +svk +Team Foundation Server +Visual SourceSafe |
|---|---|---|
|
Atomic Commits |
Yes. Commits are atomic. | |
|
Files and Directories Moves or Renames |
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 |
Unknown. FILL IN. | |
|
File and Directories Copies |
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. Replication is a fundamental part of the design. | |
|
Propagating Changes to Parent Repositories |
Yes. | |
|
Repository Permissions |
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 |
Not exactly. Vesta uses a related concept of configurations instead, which some has similar properties. | |
|
Tracking Line-wise File History |
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 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. 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 |
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 |
Quite thoroughly (HTML, man pages, published papers, a book-length research report). | |
|
Ease of Deployment |
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 |
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 |
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 |
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: Vestaweb. | |
|
Availability of Graphical User-Interfaces. |
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. |
|