Friday, December 29, 2006

A first look at open source, decentralized version control systems

I am having a first look at this Quick Reference Guide to Free Software Decentralized Revision Control Systems, trying to find some that has both windows and unix clients, can be used without being permanently connected to the server, or installing anything on it, and are suitable for 3D projects.
What I want is to be able to host a 3d project repository using a simple shared web hosting, which gives little more than FTP, SQL and PHP.

These are my conclusions:

Checking monotone´s links I have found A Simple Version Control System which is entirely PHP/SQL based, with file access through FTP. This looks like the best for now.

Darcs has a very interesting approach, clients can read from the repository through "file system, (...) HTTP or email", and submit patches (diffs) through email. Also worth checking.

Bazaar allows to add, commit and recover binary files and will allow you to plug in support for diffing or merging, but it is "primarily a source code control system, not a media archive system". Anyway, it is worth checking it.

Libresource seems very interesting, but complicated.

Subversion and (related) SVK need to adjust the configuration of Apache via its httpd.conf file, which is not available in my case.

Monotone does not use a central server at all, rather clients selectively communicate changes to each others using the netsync protocol. I´d rather go for a more user-transparent system.

Codeville does not support binaries yet (it lists"support for binaries" in its todo list

Maybe CVS is an overkill, other alternatives are:

Unison which seems a bit problematic on windows and needs peer to peer connection.

No comments: