Subversion
- 5th May 2006 | permanent link
- comments (4)
I've known about CVS for a long time now, but didn't really need it. Or so I thought. Most of the time now I was the lone developer on a project, and didn't see the need for such a versioning system. All it meant for me is another layer I propably will not be using as time went by. So there wasn't really any point for it, right? Wrong.
A common scenario
You are developing a site. The deadline is looming nearer and nearer, and you're trying to keep up. Finaly, a few days before the deadline, the client calls and does not like something. So you say ok, I'll do it your way. You do it, spend a few extra hours mixing and mashing the code and show it to the client again. "Err, you know what, it looked better before" says the client.
Now, if you are developing like I "develop", you have a few backups lying about, that don't help you at all. So now what? Re-code the same thing all over again.
Sounds familiar?
Subversion to the rescue
Now the reason I'm writing about Subversion instead of CVS is that, like so many tools, CVS is starting to show its age.It soon received wide acclaim, when it was first introduced, but from then a need for a new versioning system has become apparent. And this is the goal of Subversion, to build a compeling replacement for CVS in the opensource community.
Subversion manages files and directories over time. A tree of files is placed into a central repository. The repository is much like an ordinary file server, except that it remembers every change ever made to your files and directories. This allows you to recover older versions of your data, or examine the history of how your data changed.
- Excerpt from the Version Control with Subversion.
Getting started
If you are lazy like I am, you'll not read the entire book on the subject. In that case I offer you the following link to a very good article on Setting up a Subversion Server under Windows. You'll be able to set up Subversion in a matter of minutes and be well on your way. For now I'm testing it with TortoiseSVN, a free open-source client for the Subversion version control system, and it looks great. It integrates itself into the right click dropdown, so you'll always be reminded to commit your changes.
I'm already moving all of my projects to the mentioned system, but a thought has already crossed my mind. What about a similar system for the database? If you are working on a large system and you play around with the settings in the database. Updating is now done by hand. There has to be another way, right...


I used CVS for years without problems, but was persuaded to move to Subversion for new project and I regret it ever since. I remember fondly those long gone days when I didn't have to wrestle with yet another svn corruption and when I didn't worry about system upgrades.
I'm sure at least some of our problems stem from our less than ordinary setup, but I'm also certain that not all of them do.
Still using windows? Use Linux... CVS might be build in :)
there's a versioned database migration
system in place.
P.S.: Thumbs down for the captcha auth.
MT-Blacklist or Akismet perhaps?
Yeah, captcha is temp and is the first one I found. I was getting a lot of spam lately so I needed something fast. Akismet looks great! Might give it a go. Thanks for the suggestion Srđan.