>>>>> "Gavin" == Gavin Lambert <gavinl@compacsort.com> writes:
Gavin> Quoth Paul Koning <mailto:pkoning@equallogic.com>:
>> Tags are (conceptually) not copies; they are symbolic names for a
>> revision. CVS gets this right. What Subversion should do is to
>> define a mechanism for giving names to a given Subversion
>> revision. That would let you do what you want, and it would
>> satisfy all uses of tagging I have run into. By contrast, the
>> tagging approach that currently exists is awkward in some cases,
>> and worse in others. I haven't yet run into *any* situation where
>> it felt natural.
Gavin> Yep. Tags ought to just be aliases for a particular revision
Gavin> number. Although one advantage of the current scheme is that
Gavin> you can tag a subfolder rather than the whole of "trunk",
Gavin> which shows a bit more clearly what the tag is for.
I just realized that I should treat tags as softlinks, and use what
they point to. (In Subversion that means: the source path and
revision for the copy operation that created the tag.)
Since you can tag a mix of stuff, a more precise analogy would be to
view a tag as a set of softlinks. As you pointed out, though, the
normal use case is that a tag is a copy of a single path, so it can be
viewed as just a single softlink.
I guess I'll end up writing some tools that implement this way of
looking at things. The one function I need in particular is "show me
the log of path xxx between tag yyy and HEAD". That will translate to
"go to tag yyy, find its source path, then do svn log -r tagrev:HEAD
on that path". Not too bad, actually.
paul
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Thu Dec 15 16:49:30 2005