Monday, August 01, 2005

CVS and SVN; Web-based revision control?; Decentralized revision control ala Arch and Dumb repositories

The scenario is that I write a lot of scripts. Not only for work but for myself.

It came a time when I needed some simple revision control so I set myself up with CVS, running a separate CVS server on all my machines. In this case I was just running the simple TortoiseCVS which works a treat (I've sinced moved to TortoiseSVN but you get the point). I'm not sure if there is a GUI type utility for CVS that runs on Linux/Unix but if there is, I haven't seen it.

This works really well. For work at least. The problem is centralisation. I don't have access to my CVS repository from home, or on my work laptop, etc...

.. This begs another question. Why hasn't someone developed some kind of PHP package or something which acts as a CVS server but does not require server access or binary executables. I mean, why hasn't someone ported CVS to PHP or created some kind of Open Source web-based revision control system? I'm sure it would take off.

Anyway, I have a package with one of those commodity web hosting providers. You know the ones which let you have 5 MySQL database, PHP, Perl, etc... access.

The answer is decentralisation. This is presentation which outlines what I mean.

The killer feature for me is ""Dumb" repositories that hold data and may be accessed using regular protocols like ssh/http/ftp, with no special servers involved".

Yes! Put all the logic and processing in the client! Thank you!

I've been looking at decentralised revision control software lately.

My prerequisites are:
  • Free or Open Source.

  • Uses "dumb" repositories.

  • Simple to use. (A criticism of Arch)

  • Compatible with Windows. (Lack of portability)

I'm still looking around and trying different packages. Can anyone give me any recommentations on what they use? Especially if they use "dumb" repositories and mirror their work on different clients.