[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Mnemomic names for revisions

From: BRM <bm_witness_at_yahoo.com>
Date: 2005-05-17 16:22:45 CEST

--- Dirk Schenkewitz <schenkewitz@docomolab-euro.com>
> David Weintraub wrote:
> > On 5/16/05, Dirk Schenkewitz
> <schenkewitz@docomolab-euro.com> wrote:
> > ...
> >>Isn't that exactly what tags do? That's not what I
> want - I rather want
> >>to give a (symbolic/mnemonic) name to a certain
> svn revnum, nothing else.
> >>As you describe it, "label" seems to be just
> another name for "tag".
> >>I don't see a difference. (Except that a tag
> cannot be used instead of
> >>a svn revnum, but i'm not sure if you're
> interested in that.)
> > In truth, everything you want with the
> symbolic/mnemonic name could be
> > done with tags. However, tags have two problems:
> They aren't "first
> > class" objects, but just a special way of handling
> branches. To really
> > implement tags, you have to write a hook script to
> keep them from
> > being "changed" by a user treating them like a
> branch. Plus, as you
> > argued, you cannot use easily use them in many
> Subversion commands.
> > You want to be able to say:
> >
> > $ svn -r REL1.1:REL1.2 foo.c
> I agree to almost everything of the rest. Just one
> question: What happens
> if someone tags the whole repository, and then
> again, including the
> previous tag of the whole repository, and so on,
> several times. I'm not
> perfectly sure, but I believe you will get some
> explosive disc space usage
> *on the client* when you check out the whole
> repository with some of these
> whole-repo-tags. This will only happen with tags,
> because tags are copies.
> (My kind of labels are not.) When I wrote that
> remark of mine was nonsense,
> I thought you did wanted to use something other than
> tags for labelling.

For the purpose of my e-mail, I am referring to
"symbolic/mnemonic name/etc" as a 'label' for
continuity.

If a label was merely a name for a revision, then why
would it be checked out when you check out the entire
repository? That simply doesn't make sense. It would
make sense if it were a branch (like it is now), but
it would not if a label were truly what we have been
talking about.

For example:

$ svn co $BASE_URL -r 592
$ svnversion .
592
$ svn label MY_PROJECT_RC_1
$ svn commit
...
$ cd $SOME_OTHER_DIR
# co the head of the repo
$ svn co $BASE_URL
$ svnversion .
2000

BRM

P.S. Personally I think labels would likely be added
retrospectively like the above. But probably more
likely to be done like the following:

$ svn co $BASE_URL
$ svn label MY_PROJECT_RC_1
$ svn commit

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Tue May 17 16:26:23 2005

This is an archived mail posted to the Subversion Users mailing list.