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

Re: Subversion "labels" vs. "tags"

From: David Weintraub <qazwart_at_gmail.com>
Date: 2005-05-25 22:59:03 CEST

On 5/24/05, Julian Foad <julianfoad@btopenworld.com> wrote:
> David Weintraub wrote:
> [...]
> > Is there another way to use "switch"? Can I simply "switch" just a few
> > files and not my whole working directory?
>
> Yes, and yes. You just specify the files and/or directories that you want to
> switch as arguments to the command.

I just tried "switching" a single file in a working directory. It
replaced my file with a directory of a similar name, then downloaded
the "switched" URL into it.

I'm going to have to play around with it a bit more. The various books
I have simply cover "switching" as a way to branch. I'll take this
part of the conversation to the user's list.

> If you will now agree that the concept that you call a "label" is the same as
> the concept that Subversion developers call a "tag", then we seem to have
> arrived at a shared view. (The need to set up hook scripts and use awkward
> syntax in order to use tags in Subversion is part of the implementation and
> user interface, not the concept.)
>
> Now we need to see in what respects the use is _too_ awkward at present, and in
> what respects it is just a little awkward but could be made better anyway, and
> then we could see about improving it.

That's one of the arguments for simply using tags as the basis for
"labels". The problem is with the syntax. I should be able to replace
any reference to a revision number with a label. All Subversion
commands should be able to understand this. For example:

$ svn update -r 1233 foo.c #Currently allowed

versus

$ svn update -rREV1.0 foo #What we would like

--------------------------

$ svn diff -r 1233:2323 foo.c #Currently allowed

versus

$ svn diff -r REV1.0:REV1.2 foo.c #What we would like

This is a feature found in almost every single version control system
with a command line interface. If you can find a way to use tags with
this type of syntax, you'll make a lot of Subversion users very
happy..

The two other items are minor compared to this: An easier "make label"
syntax instead of the URL copy, and Subversion understanding that
labels/tags should be "difficult" to modify. I can write a simple
shell script for the first one (which then has to be installed on all
client systems), and I can write a hook for the second one (although
such behavior is usually built into almost all Configuration
Management system).

Brad Appleton has brought up an interesting point in that there are
maybe two separate concepts of labels/tags. Brad points out that there
is labeling for marking files and their versions for a particular
release vs. labeling as an alias for a configuration created by the
version control system. In that case, the argument could be made that
a lookup table for labels vs. revision numbers is really the way to
implement labels, and that "tags" should be used when a user wants to
mark a particular release.

--
David Weintraub
qazwart@gmail.com
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Wed May 25 22:59:51 2005

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