Comparison between LibreSource Synchronizer and Subversion

Back to main page

   
SCM feature: LibreSource Synchronizer Subversion Add to comparison: +CVS
+AccuRev
+Aegis
+AllChange
+Arch
+Bazaar
+BitKeeper
+ClearCase
+CM+
+CMSynergy
+Co-Op
+Darcs
+Git
+Mercurial
+Monotone
+OpenCM
+Perforce
+PureCM
+SourceAnywhere
+Superversion
+Surround SCM
+svk
+Team Foundation Server
+Vesta
+Visual SourceSafe
Atomic Commits
Yes. Commits and updates are atomic. Commits are atomic.
Files and Directories Moves or Renames
Yes. Renames and move are supported but the working copy needs to be up-to-date before doing a rename/move operation. This operation will be committed directly. Yes. Renames are supported.
Intelligent Merging after Moves or Renames
Yes. Renames are intelligent. However, the rename should be made by the system, in order to be detected in the right manner. 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
No, copies will start their own history. Yes. And it's a very cheap operation (O(1)) that is also utilized for branching.
Remote Repository Replication
Yes, but is not documented and its based on the dataflow feature of the LibreSource Synchronizer. Indirectly, by using Chia-liang Kao's SVN::Mirror add-on or Shlomi Fish' SVN-Pusher utility.
Propagating Changes to Parent Repositories
Yes, it's what we call a dataflow. Yes, using either Chia-Ling Kao's SVN::Mirror script or the svn-push utility by Shlomi Fish.
Repository Permissions
Permissions are set for the whole repository or branch. 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. Partial support. There are implicit changeset that are generated on each commit.
Tracking Line-wise File History
Yes, locally without any server connection with the standard graphical Java client. Yes. (svn blame)
Ability to Work only on One Directory of the Repository
It is possible to commit only a certain directory. However, one must check out the entire repository as a whole. Yes.
Tracking Uncommited Changes
Yes, with the Synchronizer Studio (default Java client) or with the standard diff command (diff -r . .so6/xxx/REFCOPY/) Yes. Using svn diff
Per-File Commit Messages
No. Commit messages are per changeset. No. There is no such feature.
Documentation
Medium. There are an online tutorial and some comprehensive online documentation. Installing and getting started with the GUI is very easy though. (update/commit-next-next-next-finished) 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
Excellent. It is managed by JavaWebStart with links on any LibreSource repository web page. (links: create workspace, update, commit, studio...) 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
Basic commands available (commit/update), but it's really simple to use the GUI. Ant task are also available. A CVS-like command set which is easy to get used to for CVS-users.
Networking Support
Good. Use of HTTP to get through firwalls. 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 any Java 1.5-compatible platform. (Windows, Linux and Mac OS X ) Excellent. Clients and Servers work on UNIX, Windows and Mac OS X.
Web Interface
Yes, without diff features but with a better awareness support. (allow to know at any time on each version each one is working on) 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.
One written in Java/SWING and available on any OS that is automatically launched from the repository web page and another one which is an Eclipse plugin. 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.

 

Creative Commons License
This work is licensed under a Creative Commons License.