[Lazarus] revision numbers of each SVN tag?

Vincent Snijders vsnijders at vodafonevast.nl
Tue Apr 14 15:02:55 CEST 2009

Graeme Geldenhuys schreef:
> Another common version control concept is a tag. A tag is just a
> “snapshot” of a project in time.
> [...snip....]
> But wait a moment: isn't this tag creation procedure the same
> procedure we used to create a branch? Yes, in fact, it is. 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.
> </quote>

Correct. Until the release has been announced, that directory should be considered a 
branch. After that is a tag set in stone. I admit I took a shortcut by merging the 
change. The correct way should have been:
* create a new branch from lazarus/tags/lazarus_0_9_26_2 to 
* delete lazarus/tags/lazarus_0_9_26_2 (since the tag is not valid anymore)
* merge the revision from trunk to lazarus/branches/lazarus_0_9_26_2
* tag lazarus/branches/lazarus_0_9_26_2 to lazarus/tags/lazarus_0_9_26_2

Again: cumbersome.

I am abusing the tool, because it is a tool after all, not a law. Sorry to confuse 
you with it, but I never realized you would get into trouble with git. svn export 
and svn co of that tag works exactly the same after the release announcement (all 
the release builders were notified in private).


More information about the Lazarus mailing list