I put together a presentation on Subversion for a class this semester. The slides cover the basics of revision control and why you should be using it for any project with more than one developer.

The problem is simple: how do you coordinate code between multiple people without everything falling apart? You could work on the same machine and take turns. You could email files back and forth. You could dump everything on a shared drive. None of these approaches scale past two people, and even then they’re fragile.

A version control system solves this by keeping a central repository of your code, tracking every change, and letting you roll back when things go wrong. With Subversion you check out a working copy, make changes, examine the diff, and commit when you’re happy. The revision history stays in a database and you can always see who changed what and when.

The slides walk through the basic work cycle, common commands like checkout, commit, status, diff, and update, and the trunk/branches/tags directory convention. Nothing advanced, but it covers what you need to get started.