Well, the goal is to provide a (typically) mnemonic identifier for a
particular snapshot of an SCC system. Since in SVN all revisions *are*
snapshots, this equates to a mnemonic for a revision. To date, the only
way to do this in SVN has been with tags, which provide the mnemonic
through the name of a folder path in the repository.
I have two problems with this approach: (1) it clutters up the
repository tree, which in big projects can be a mightmare, and (2) it's
not clear except by convention that the "tag" should never be modified
(otherwise its a branch, not a tag). I have trouble with #2 since it
relies on out-of-band mechanisms (read: documentation+conventions) to
indicate that it is a tag/label [sidebar: to my mind this is like saying
we don't need "const" in a language since the same thing, more or less,
can be done with comments.]
A "label" mechanism would elevate the tag concept to a first-class
feature in SVN, making the intensions of the label in-band, and obviate
the need for "tags" branches. Now, some aspects of such a feature are
non-trivial: what exactly do you label? A directory? Does each label
create a revision? If a label is a mnemonic for a revision, what does is
mean to attempt to apply that label to some other part of a repository
outside of the labeled directory?
Such issues would need to get resolved, but labels are indeed very
useful outside of tags, IMHO.
Eric Hanchrow wrote:
>>>>>>"Tim" == Tim Hill <firstname.lastname@example.org> writes:
> Tim> I would certainly use revision labels if they were available,
> Tim> why not?
>I must be misunderstanding what revision labels are; to me they sound
>like exactly the same thing as tags.
Received on Sat Apr 30 01:47:09 2005