You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by "Brian H. Toby" <br...@anl.gov> on 2010/01/11 23:37:07 UTC

reuse of tag to keep stable URLs?

I am trying to get beyond my rather simple use of svn and would like  
some advice. My goal is to have two releases of a package available,  
one bleeding edge and the other stable. I want to keep the URLs to  
both releases stable. This seems like a reasonably common thing that  
one would want, but google has failed to find this discussed (probably  
because I am using the wrong lingo to describe what I want.) Anyway, I  
can see two ways to implement this:

1) Keep the bleeding-edge release in the trunk and use a tagged  
version for the stable release. When I am ready to make a new stable  
release, I delete the stable tagged release from the repository and  
then copy the trunk reusing the same tag name.

2) keep the stable release as the trunk and work on the bleeding-edge  
release as a branch. When I am ready to make a new stable release, I  
use merge --reintegrate and commit to update the stable release and  
then delete and recreate the  bleeding-edge branch.

Option 2 seems to be the way that svn is designed to be used, but is  
more complex. I guess it is more robust, if someone commits a change  
to the stable. Are there any other reasons to go that route? Is there  
an even better choice?

Brian

Re: reuse of tag to keep stable URLs?

Posted by Stein Somers <ss...@opnet.com>.
"Moving tags" may be the lingu you were looking for.

-- 
Stein

RE: reuse of tag to keep stable URLs?

Posted by Bob Archer <Bo...@amsi.com>.
> I am trying to get beyond my rather simple use of svn and would
> like
> some advice. My goal is to have two releases of a package
> available,
> one bleeding edge and the other stable. I want to keep the URLs to
> both releases stable. This seems like a reasonably common thing
> that
> one would want, but google has failed to find this discussed
> (probably
> because I am using the wrong lingo to describe what I want.)
> Anyway, I
> can see two ways to implement this:
> 
> 1) Keep the bleeding-edge release in the trunk and use a tagged
> version for the stable release. When I am ready to make a new
> stable
> release, I delete the stable tagged release from the repository and
> then copy the trunk reusing the same tag name.

Why not just merge the rev from trunk that you want to release into your stable branch/tag? Then create a tag for that version in case you need an older version sometime. If you never commit into stable branch other than merges there should never be conflicts. 

This seems cleaner to me than deleting and recreating branches. 

BOb

Re: reuse of tag to keep stable URLs?

Posted by "Brian H. Toby" <br...@anl.gov>.
Thanks very much. (BTW, your english here was just about perfect.)

On Jan 12, 2010, at 5:06 AM, Andrey Repin wrote:

> Greetings, Brian H. Toby!
>
>> I am trying to get beyond my rather simple use of svn and would like
>> some advice. My goal is to have two releases of a package available,
>> one bleeding edge and the other stable. I want to keep the URLs to
>> both releases stable. This seems like a reasonably common thing that
>> one would want, but google has failed to find this discussed  
>> (probably
>> because I am using the wrong lingo to describe what I want.)  
>> Anyway, I
>> can see two ways to implement this:
>
>> 1) Keep the bleeding-edge release in the trunk and use a tagged
>> version for the stable release. When I am ready to make a new stable
>> release, I delete the stable tagged release from the repository and
>> then copy the trunk reusing the same tag name.
>
>> 2) keep the stable release as the trunk and work on the bleeding-edge
>> release as a branch. When I am ready to make a new stable release, I
>> use merge --reintegrate and commit to update the stable release and
>> then delete and recreate the  bleeding-edge branch.
>
>> Option 2 seems to be the way that svn is designed to be used, but is
>> more complex. I guess it is more robust, if someone commits a change
>> to the stable. Are there any other reasons to go that route? Is there
>> an even better choice?
>
> Nope. It's the case 1. You branching stable version to tags,  
> leaving /trunk as
> your workplace.
> Could as well copy to branches:
> copy /trunk to /tag/<version>
> delete /branch/stable
> copy /tags/<version> to /branch/stable
>
> /trunk is your mainstream, especially if you're working mainly alone  
> on the
> project.
> If you need space for experimenting, or if you need to backport some  
> changes
> from trunk to stable, you create a new branch from stable branch, port
> whatever you want to it, then merge it back to stable and delete the  
> one you
> used to backport.
>
>
> --
> WBR,
> Andrey Repin (anrdaemon@freemail.ru) 12.01.2010, <14:00>
>
> Sorry for my terrible english...
>

********************************************************************
Brian H. Toby, Ph.D.                            office: 630-252-5488
Senior Physicist/Section Head for Scientific Software
Advanced Photon Source
9700 S. Cass Ave, Bldg. 401/B4192            work cell: 630-327-8426
Argonne National Laboratory
Argonne, IL 60439-4856         e-mail: brian dot toby at anl dot gov
********************************************************************
"We will restore science to its rightful place, and wield technology's  
wonders... We will harness the sun and the winds and the soil to fuel  
our cars and run our factories...  All this we can do. All this we  
will do."


Re: reuse of tag to keep stable URLs?

Posted by Andrey Repin <an...@freemail.ru>.
Greetings, Brian H. Toby!

> I am trying to get beyond my rather simple use of svn and would like  
> some advice. My goal is to have two releases of a package available,  
> one bleeding edge and the other stable. I want to keep the URLs to  
> both releases stable. This seems like a reasonably common thing that  
> one would want, but google has failed to find this discussed (probably  
> because I am using the wrong lingo to describe what I want.) Anyway, I  
> can see two ways to implement this:

> 1) Keep the bleeding-edge release in the trunk and use a tagged  
> version for the stable release. When I am ready to make a new stable  
> release, I delete the stable tagged release from the repository and  
> then copy the trunk reusing the same tag name.

> 2) keep the stable release as the trunk and work on the bleeding-edge  
> release as a branch. When I am ready to make a new stable release, I  
> use merge --reintegrate and commit to update the stable release and  
> then delete and recreate the  bleeding-edge branch.

> Option 2 seems to be the way that svn is designed to be used, but is  
> more complex. I guess it is more robust, if someone commits a change  
> to the stable. Are there any other reasons to go that route? Is there  
> an even better choice?

Nope. It's the case 1. You branching stable version to tags, leaving /trunk as
your workplace.
Could as well copy to branches:
copy /trunk to /tag/<version>
delete /branch/stable
copy /tags/<version> to /branch/stable

/trunk is your mainstream, especially if you're working mainly alone on the
project.
If you need space for experimenting, or if you need to backport some changes
from trunk to stable, you create a new branch from stable branch, port
whatever you want to it, then merge it back to stable and delete the one you
used to backport.


--
WBR,
 Andrey Repin (anrdaemon@freemail.ru) 12.01.2010, <14:00>

Sorry for my terrible english...