| SCM feature: | SourceAnywhere | 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 +Subversion +Superversion +Surround SCM +svk +Team Foundation Server +Visual SourceSafe |
|---|---|---|---|
|
Atomic Commits |
Yes. Commits are atomic. | ||
|
Files and Directories Moves or Renames |
Yes. Both moves and renames are supported, while maintaining history. | 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 |
Copying doesn't retain history, moving does. | 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 |
Not directly possible with the included GUI or command line tools; Some SQL Server tool might be useable. | Yes. Replication is a fundamental part of the design. | |
|
Propagating Changes to Parent Repositories |
Not directly possible with the included GUI or command line tools; Some SQL Server tool might be useable. | Yes. | |
|
Repository Permissions |
Yes. SourceAnywhere Server Manager can define access to a repository per user or group and user access rights to a project. | 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. SourceAnywhere uses a related concept of configurations instead, which some has similar properties. | Not exactly. Vesta uses a related concept of configurations instead, which some has similar properties. | |
|
Tracking Line-wise File History |
Yes. (SAW annotate) | 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. SourceAnywhere can define the user access right to each project and users can be restricted to work only on the projects they have check out/in right. | 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. Using saw diff. | 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. There is no such feature. | 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 |
Good. There's an overview and tutorial on the web site, and integrated help for every command. | Quite thoroughly (HTML, man pages, published papers, a book-length research report). | |
|
Ease of Deployment |
Excellent. Dynamsoft SourceAnywhere is extremely easy to install. It is totally written in C++ from scratch, which means that you don't need any additional components and frameworks to support the installation. | 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 |
Very extensive but not compatible with CVS. | 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 |
Good. The server runs on Windows only. Clients can work on any platform that SWT (Standard Widget Toolkit) supports, including Windows, Linux, Mac, Solaris, AIX, HP-UX, SCO Unix, FreeBSD and so on. | 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 |
Currently not. | Yes: Vestaweb. | |
|
Availability of Graphical User-Interfaces. |
The system is GUI-based by design. | 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. |
|