Tagging Your First Release in Subversion
Apache Subversion remembers every change made to its files and repositories, giving you the option of rolling back to previous revisions when disaster strikes. To make rolling back easier, it’s good practice to explicitly label your project at certain points in the development effort (for example “Release 1.0.”) This is where tags come in.
Tags allow you to create a snapshot of your project, with a human-friendly label. Creating a tag follows the same process as creating a branch, although to avoid confusion it is a good idea to create a dedicated ‘tags’ directory. To create a tag, use the ‘svn copy’ command:
svn copy (working-copy-path/trunk) (working-copy-path/tags/name-of-tag)
In this example, we are copying the entire contents of the trunk to a folder called ‘Release 1.0’ in the ‘tags’ directory.
Now when you explore your working copy, you will see a new folder in the ‘tags’ directory.
You have just created your first tag!
Every project will be different but there are some common scenarios where tags can come in handy:
- At a stable point during development.
- To mark a release, or a patch.
- Just before a complicated merge.
Note, as tags are supposed to be a snapshot of your project at a certain point in time, it is important not to modify the tag.