Re: Tags and branches are NOT the same

John Calcote wrote:
> Frankly, my perspective on it is that it's a missing feature with a
> canonized work-around.
>

My perspective is that tags in CVS are a canonized work-around to the
fact that CVS only versions individual files. In CVS a tag is the ONLY
way to specify a given revision of the entire project tree ( or a subset
thereof ). The tag in CVS associates a name not with a single revision
number but a revision number on every file that is tagged, thus they
name both a state in time and a set of files.

In subversion tags are not required because the entire repository is
versioned as one, so you only have to specify a path and one revision
number to get the entire state of a project at a given point in time.
If you would rather remember a name than a number, then immutable
branches as tags works fine for that purpose.

Simply adding a name to revision translation table is not sufficient to
implement CVS like tags; they also have to keep track of what subset of
files and directories the tag applies to since you can tag only a subset
of the repository. That is not trivial work, and wouldn't really add
any value, so nobody is interested in doing it.