Sunday, August 22, 2004

Monotone

I've had my home directory under version control for some time now. It's a -very- nice way to keep files consistent across all the various machines I use.

Previously I had been using CVS, and have been pleased with it. The standard problems with CVS apply, of course. Binary files are handled poorly, the network protocol is slow, moving/renaming files is difficult.

So I was in the market for a new version control system. I looked at Subversion looks very nice, but I wanted something decentralized. GNU Arch also looks nice, but didn't really appeal to me. Something about how all the documentation tells you that you shouldn't edit configurations by hand left me feeling uneasy. So I went with Monotone.

Monotone does much of its work by calling LUA hook functions. The defaults pretty much feel like CVS. However, I was very impressed with how much customization can be performed. With a little tweaking, I've got a system that is as close to completely transparent without being Coda as I've ever had.

Suffice it to say that I'm impressed.