On Fri, Jul 03, 2009 at 08:07:45AM -0500, Robert Dailey wrote:
> On Fri, Jul 3, 2009 at 4:14 AM, Bolstridge, Andrew <
> andy.bolstridge_at_intergraph.com> wrote:
>
> > I’d do the tagging the way it “should” be – take the current revision
> > number, and remember it.
> >
> > If you ever want to get the current state of your release, do a checkout
> > using that revnum. Really simple.
> >
>
> But that's what tags do. They give a name to that revision number. It's a
> lot better than writing it down on paper somewhere. This still doesn't
> address the issue of tagging multiple branches. If dependencies are in
> different branches, those branches must be tagged at the same time the
> project is. You can't do this with one tag operation.
>
> Tags in Subversion, from my investigation need 2 major improvements. Tags in
> Subversion shouldn't be simple "copies". I should be able to only tag a
> specific part of a hierarchy in the repository, much like you would use
> sparse checkouts. For example, in the root of the repository you may have 5
> directories: Project1, Project2, Project3, Library1, Library2. I should be
> able to only tag Project1, Library1, and Library2. Project2 and 3 would not
> be in the tag (This would be a sparse tag).
>
> Secondly, tag operations should allow a user to select multiple branches. A
> tag would then contain multiple, distant branches this way.
>
> Given the implementation of Subversion, I'm not sure if this is possible,
> but it would be a great thing to have.
You could be creative and put your own tagging meta data into
a versioned property at the repository root:
$ svn propget rcdelay:tags ^/
foo:/branches/devel_at_42;/branches/experimental-stuff_at_23
bar:/branches/bugfix-branch_at_32
1.0:/trunk_at_20
And then have some script that uses this to run 'svn export'
appropriately (you don't need working copies of tags, right?).
That's what properties have been made for -- arbitrary meta data you'd
like to attach to your versioned tree, and use with add-on tools which
provide functionality Subversion does not provide.
Of course, something like this could be made part of Subversion, too,
as, say, svn:tags. But that's a long process. Patches welcome, but I
guess getting everyone in the community to agree that a scheme like
this is good and useful to have in Subversion's core would be the hard
part :)
Stefan
Received on 2009-07-03 15:29:15 CEST