Subversion
Subversion is version control software, a program to make it easy to work with multiple people on one project. Its homepage is subversion.apache.org.
This is the general workflow:
- checkout a copy of the source code from a central server,
- make their desired changes,
- update their local copy to pull in any intervening changes from the central server,
- merge any conflicts,
- and then commit the changes they made to the central server, so that other can use the updated version.
Subversion does all this by keeping track of people's changes and contributions. This also makes it easy to roll back to previous versions, which makes in turn helps when something stops working and you have to discover the problem.
TortoiseSVN is an excellent graphical client for Subversion on Windows. You can see the status of your working copy files directly inside the Explorer, as well as pull in updates, commit changes, and much more.
Commands
For those that prefer the command line, here is a summary of the most important Subversion commands. For a more elaborate introduction, see the chapter Basic Usage of the excellent free book Version Control with Subversion.
svn help command
gives help on a command. Justsvn help
gives a list of svn commands.svn checkout repository url
fetches you a local copy of a project.svn log
shows the commit messages of recent commits. The more helpful people have made their commit messages, the more useful this command is.svn add file1
tells Subversion to start tracking a hitherto untracked file or files.svn update
pulls in any changes from the central repository.svn status
show the status of your local copy -- any added or changed files, or files with conflict markers in them.svn commit file1
commits the changes you made to file1 to the central repository. If file1 is a directory, all changes inside it are committed. Justsvn commit
commits all changes in your repository.