I spent today making sure I was using the lateset version of the greylist daemon [1] across two production servers (one running Postfix [2]; the other Sendmail [3]) and the development server (or rather, servers as I actively develop on two different machines).
Good thing too, because there was one file that was completely different on each machine, and quite a few files that were the same on two or three and different on the remaining machines.
You might ask why I'm not using some form of revision control, but I am. Only I don't think it's right for how I work. I could use CVS [4], since it comes already installed on Linux distributions, and I'm currently using it [5] for mod_blog. But it does have a few problems [6]. Then there's subversion [7], but the last time I checked, it was a bear to install, and I'm not sure how one actually goes about creating a new project with it.
No, for this project, I decided to try git [8]. Dead simple to install. Dead simple to create a new repository. Dead simple to create and checkout different branches. Incredibly fast too. But managing a central repository with git seems to have eluded me. Perhaps it's because I don't fully understand how git is used properly, or perhaps it's because I want a centalized development model, not a decentralized one (even though I do development across different machines). And the pulling or pushing of changes from one repository to another doesn't seem to work as I would expect it to work.
It's a pity, because other than “checking in” and “checking out” revisions, it's a nice, fast program.
[4] http://www.nongnu.org/cvs/
[6] http://en.wikipedia.org/wiki/Concurrent_Versions_System#Limitations