| SCM feature: | Subversion |
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 +Superversion +Surround SCM +svk +Team Foundation Server +Vesta +Visual SourceSafe |
|---|---|---|
|
Atomic Commits |
Commits are atomic. | |
|
Files and Directories Moves or Renames |
Yes. Renames are supported. | |
|
Intelligent Merging after Moves or Renames |
No. "svn help me" says "Note: this subcommand is equivalent to a 'copy' and 'delete'." There's a bug report about it. | |
|
File and Directories Copies |
Yes. And it's a very cheap operation (O(1)) that is also utilized for branching. | |
|
Remote Repository Replication |
Indirectly, by using Chia-liang Kao's SVN::Mirror add-on or Shlomi Fish' SVN-Pusher utility. | |
|
Propagating Changes to Parent Repositories |
Yes, using either Chia-Ling Kao's SVN::Mirror script or the svn-push utility by Shlomi Fish. | |
|
Repository Permissions |
Yes. The WebDAV-based service supports defining HTTP permissions for various directories of the repository. | |
|
Changesets' Support |
Partial support. There are implicit changeset that are generated on each commit. | |
|
Tracking Line-wise File History |
Yes. (svn blame) | |
|
Ability to Work only on One Directory of the Repository |
Yes. | |
|
Tracking Uncommited Changes |
Yes. Using svn diff | |
|
Per-File Commit Messages |
No. There is no such feature. | |
|
Documentation |
Very good. There is a free online book and some online tutorials and resources. The book is written in DocBook/XML and so is convertible to many different formats. The command-line client also provides a good online help system that can be used as a reference. | |
|
Ease of Deployment |
A Subversion service requires installing an Apache 2 module (if one wishes to use HTTP as the underlying protocol) or its own proprietary server. The client requires only the Subversion-specific logic and the Neon WebDAV library (for HTTP). Installation of the components is quite straightforward, but will require some work, assuming Subversion does not come prepackaged for one's system. | |
|
Command Set |
A CVS-like command set which is easy to get used to for CVS-users. | |
|
Networking Support |
Very good. The Subversion service can use either WebDAV+DeltaV (which is HTTP or HTTPS based) as its underylying protocol, or its own proprietary protocol that can be channeled over an SSH connection. | |
|
Portability |
Excellent. Clients and Servers work on UNIX, Windows and Mac OS X. | |
|
Web Interface |
Yes. ViewVC, SVN::Web, WebSVN, ViewSVN, mod_svn_view, Chora, Trac, SVN::RaWeb::Light, SVN Browser, Insurrection and perl_svn. Aside from that, the Subversion Apache service provides a rudimentary web-interface. | |
|
Availability of Graphical User-Interfaces. |
Very good. There are many available GUIs: RapidSVN (cross-platform), TortoiseSVN (Windows Explorer plug-in), Jsvn (Java), etc. Most of them are still under development. | |
|
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. |
|