I know how to use tags in subversion. I create a tag every time I get to a release milestone.
What I don't quite understand is how they work.
Is a tag just a copy, made from what ever revision I specify? Or is a tag more like a reference, where internally subversion just says GO TO /trunk/project/ Revision 5
or whatever.
The command to create a tag (svn copy
) seems to imply that it's a copy, but I've seen other people write that subversion doesn't really copy anything.
Say I dump just the HEAD revision of a repository. I don't care about any history except the tags. Are those tags dumped along with the rest of the Head revision?
Finally, is all this just programming magic that I don't really want to know.