[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: Dirk Schenkewitz <schenkewitz_at_docomolab-euro.com>
Date: 2005-05-17 20:25:00 CEST

David Weintraub wrote:
> On 5/17/05, Dirk Schenkewitz <schenkewitz@docomolab-euro.com> wrote:
>
>>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.
>
>
> And how is this different from current practice of making tags?

It is not! :-) That's my point - one of the things I want cannot be done
with tags.

> I can also make a URL copy of my entire repository under the "tags"
> directory (if that's the way I so choose to make my copies), and
> anyone checking out that repository would get an explosion of
> checkouts.

Exactly. Therefore it's not a good idea to do it. If I want to tag
something from a branch, I need to copy it to an extra tag. At best
I could make one tag for the trunk and another tag for the branch
directory. That way I could freeze the trunk and the branches as
they are at a specific point in time with 2 tags. A freeze of the
whole repository cannot (or better: *by all means*, should not) be
done this way.

> The usual way is to include "everything in the archive" is to just
> copy what is under the "trunk" directory to a subdirectory under the
> "tags" directory. This way, you don't include developer branches and
> other tags in the current one.

If that fulfilles your needs, fine. But I definitely want all the
developer branches and even the tags in one freeze. (Since the tags
are supposed to be immutable, I just need to know which ones existed
when I made the tag, that's not a big problem. But the branches can
change - so I want be able to make a freeze of them.)

(Another thing: The label and the svn revnum would be very tightly
connected - if you check out a specific revnum, you also get the label
"for free". And vice versa. The only disadvantage is, you could not get
rid of the other one ;-) On the other hand, some naming convention is
needed if you want to tell whether a tag was made from the trunk or
from a branch later on.
Now you could say, "Why would anyone want to make a tag of a branch?"
Then I say, tags are the only way to make a "meaningful" version
numbering, as it is now, so either you can never have meaningful
versions of a branch - or you need tags to do it. Copies are cheap
(on the server!) but now imagine how cheap it would be if you could
apply a name to an existing state of the repository.)

But you mentioned a strong point - compatibility with existing reposi-
tories. I guess if I want the most important part of it, I should
forget about the rest and take the tag-solution, or I have to wait a
very long time, maybe forever.

Thinking about it, another question comes up: When I do

svn co -rLABEL_TAG_NAME URL_OF_A_BRANCH

will I get that branch as it is stored within the label-tag (if it
is) or will I get the real branch as it was when the label-tag was
made, even if the label-tag does not contain this branch?

Have fun
   Dirk

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Tue May 17 20:27:52 2005

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