Creating tag:
Another common version control concept is a tag. A tag is just a “snapshot” of a project in time. In Subversion, this idea already seems to be everywhere. Each repository revision is exactly that—a snapshot of the filesystem after each commit.
However, people often want to give more human-friendly names to tags, like release-1.0. And they want to make snapshots of smaller subdirectories of the filesystem. After all, it's not so easy to remember that release-1.0 of a piece of software is a particular subdirectory of revision 4822.
- How to create a tag on Linux
$ svn copy svn://asteasolutions.net/sophie2-repo/trunk \ svn://asteasolutions.net/sophie-jr/tags/m??-??? \ -m "Comment." Committed revision 351.
Here m??-??? stands for the milestone and its name for example m01-pre1.
After the copy completes, the new m??-??? directory is forever a snapshot of how the project looked in the HEAD revision at the time you made the copy. Of course you might want to be more precise about exactly which revision you copy, in case somebody else may have committed changes to the project when you weren't looking. So if you know that revision 350 of /sophie2-repo/trunk is exactly the snapshot you want, you can specify it by passing -r 350 to the svn copy command. In Subversion, there's no difference between a tag and a branch. Both are just ordinary directories that are created by copying. Just as with branches, the only reason a copied directory is a “tag” is because humans have decided to treat it that way: as long as nobody ever commits to the directory, it forever remains a snapshot. If people start committing to it, it becomes a branch.
- How to create a tag on Windows with TortoiseSVN:
- Update first.
- Go to "trunk" folder in your local repository
- Right click on it
- TortoiseSVN -> Branch/tag
- Dialog window appears. Now instead of svn://asteasolutions.net/sophie2-repo/trunk (or svn://asteasolutions.net/sophie-jr/trunk) use svn://asteasolutions.net/sophie2-repo/tags/m??-??? (or svn://asteasolutions.net/sophie-jr/tags/m??-???). Here m??-??? stands for the milestone and its name for example m01-pre1.
- It is obligatory to write a comment when you commit.
- Tags must be created at the end of each iteration when the work is frozen.
Committing rules:
- Always write a comment which task(s) affects your commit (in other words which task you are working on).
- Write the id and the name of the task related to your commit at the end of the comment.
- When you commit code be sure that it is written following the code standards.
- Committing without a comment is absolutely impermissible (that is valid even when committing only a daily report).