Should I use them as separate releases? Do I check them back into trunk or branches? Is this all in the red book and I've just wasted your time?
All you need to do is make a copy of your project using "svn copy". This command will require the URL of your project's /trunk directory as well as the URL of the directory where you want to create your branch. This location will virtually always be inside of your /branches directory.
Version Control System supports the tag operation by using that concept that one can give meaningful name to a specific version of the code. Tag allows to give descriptive and memorable names to specific version of code. For example BASIC_ARRAY_OPERATIONS is more memorable than revision 4.
As such, to checkout a tag, you check out with your URL referencing the directory. To commit back that tag, you do a normal commit. To commit back to a different tag, you svn copy the files into the new "correct" tag directory, which you might have to mkdir ...; svn add (dir) prior to the svn copy.
Do not forget that a tag and a branch are essentially the same thing in SVN: both are the result of svn copy
The trick is, since a tag represents a snapshot, it should be an "immutable" one, in that you should not make any modification on it.
What that snapshot (tag) represents is entirely up to you. it can be:
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With