You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Andrew Thompson <su...@aktzero.com> on 2005/03/02 04:52:54 UTC

replace a tag with a new version

Say I have tags/current

In my trunk (or my wc), I've got newer/better "current" code.

How would you replace tags/current?

Is there a single step process for replacing a tag with a new version?

I tried copy/move with TortoiseSVN, but I can't see how you'd replace 
tags/current without either merging up to it, or deleting it, and 
recopying it. (No, I'm not asking for tSVN help, I'm using the command 
line tools everywhere, just wanted to quickly test an idea.)

For reference: I'm storing a copy of my website in Subversion. I'd like 
to be able to script an export of a "stable/current" release for 
rsync'ing to my web server. I can't say that trunk will always be usable.

Should I just drop this line of thought and just be committing known 
good stuff against "current"?

Would it be easier to just make trunk my stable/current version, and 
just have a branch version that I'm constantly merging back into trunk? 
(Seems like a lot of work.)

Mostly seeking pointers to ideas for handling this scenario. I can work 
out the details, just want to see what's more natural(if there is such a 
thing) for Subversion.

Thanks.

-- 
Andrew Thompson
http://aktzero.com/

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: replace a tag with a new version

Posted by Ryan Schmidt <su...@ryandesign.com>.
On 02.03.2005, at 05:52, Andrew Thompson wrote:

> Say I have tags/current
>
> In my trunk (or my wc), I've got newer/better "current" code.
>
> How would you replace tags/current?

[snip]

The short answer is "you wouldn't."

Of course Subversion doesn't enforce anything at all; "tags" and 
"branches" and "trunk" are all just concepts to which a human must 
assign meaning for them to have any. Within Subversion, they're all 
just copies.

That said, the "Subversion Way" is that tags are copies of a branch at 
a specific point in time -- a snapshot, showing how things were at some 
point in the past. The "Subversion Way" is that tags never change. Of 
course, the system does not prevent you from modifying the contents of 
a tag (unless you write a pre-commit hook preventing that). But the 
idea is that you release version 1.0.5 of your project, and to do so, 
you create a 1.0.5 tag so that in the future, when the current version 
is 1.1.7, you can look back at the contents of the 1.0.5 tag directory 
to see what your project looked like at version 1.0.5.

The thing you're wanting to do -- find out which tag represents the 
current stable code -- is something we're handling outside of 
Subversion. Depending on your tagging habits and tag numbering scheme 
it could be as simple as listing the contents of the tags directory, 
sorting it, and picking the last one. Or you may want to keep track of 
it manually.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: replace a tag with a new version

Posted by Kris Deugau <kd...@vianet.ca>.
Andrew Thompson wrote:
> For reference: I'm storing a copy of my website in Subversion. I'd
> like to be able to script an export of a "stable/current" release for
> rsync'ing to my web server. I can't say that trunk will always be
> usable.
> 
> Should I just drop this line of thought and just be committing known
> good stuff against "current"?
> 
> Would it be easier to just make trunk my stable/current version, and
> just have a branch version that I'm constantly merging back into
> trunk? (Seems like a lot of work.)

What I do with a current web project is to keep most general development
in /trunk, and maintain a /branches/stable branch to contain tested
(mostly) code that should be "live".

Occasionally I'll create a development branch for some more invasive
changes to the code that I'd like to apply to the trunk atomically (as a
merge), which I can then apply to the stable tree after making sure it
doesn't mangle any minor changes I've made in the trunk since creating
the branch.

I only create a tag for a "landmark" revision that I feel needs to stand
out in some way.

-kgd
-- 
Get your mouse off of there!  You don't know where that email has been!

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

RE: replace a tag with a new version

Posted by Dale Worley <dw...@pingtel.com>.
> From: Andrew Thompson [mailto:subversionuser@aktzero.com]

> Is there a single step process for replacing a tag with a new version?

No.

> I tried copy/move with TortoiseSVN, but I can't see how you'd replace
> tags/current without either merging up to it, or deleting it, and
> recopying it. (No, I'm not asking for tSVN help, I'm using
> the command
> line tools everywhere, just wanted to quickly test an idea.)

Like many Subversion actions, how to do it depends on exactly what you
*mean* by the operation.

The simplest way is to delete .../tags/current and then re-copy .../trunk to
it.

Hmmm, now that I think about it, that's equivalent to every other way I can
think of to do it.  It does carry the history information correctly.

Dale


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org