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

Fwd: Derive a new release/project from a current project/trunk

From: Yavuz B. <mm10dev_at_googlemail.com>
Date: Mon, 4 Feb 2008 00:13:21 +0100

fantastic help! thank you very much!

thanks
yavuz bogazci

On Feb 3, 2008 8:57 PM, Ryan Schmidt <subversion-2007b_at_ryandesign.com>
wrote:

> On Feb 3, 2008, at 13:46, Yavuz B. wrote:
>
> > i want to derive a new release from my actual trunk. Actually i tag
> > a release, so i can always check this tag out for older clients.
> > But when i want to bugfix something in an older release an want
> > that these changes apply to the old ones and the the actual
> > release, how can realze this with subversion? i knew this feature
> > from microsoft sourcesafe. there it is possible, to fix an old
> > revision an the changes are apllied to the actual trunk/relase. I
> > dont know how this is called. can someone help?
>
> I assume where you use the words "actual"/"actually" you mean to use
> the words "current"/"currently".
>
> You cannot change revisions. They are immutable. Well, except for
> revision properties. You can change revision properties if you
> install a pre-revprop-change hook script to allow such a change. But
> you're asking about revision contents, not properties.
>
> Tags in Subversion are also supposed to be immutable. Nothing in
> Subversion prevents you from changing a tag, but you're not supposed
> to. Everyone using Subversion understands a tag to be a snapshot in
> time which should never be changed.
>
> If you want to be able to both develop a newer version (in trunk) and
> fix bugs on an older version, what you want is a branch for the older
> version. You can fix your bug in the older version's branch, then
> make a new tag of that.
>
> Example:
>
> /repo/
> project/
> trunk/
> branches/
> tags/
>
> You've developed your software in trunk and are now ready to call it
> version 1.0. You make a branch and a tag:
>
> svn cp $REPO/project/trunk $REPO/project/branches/1.x
> svn cp $REPO/project/branches/1.x $REPO/project/tags/1.0
>
> /repo/
> project/
> trunk/
> branches/
> 1.x/
> tags/
> 1.0/
>
> Now you continue to develop in trunk, adding new features, and this
> will eventually become version 2.0. But while you're doing this, you
> find a bug in 1.0 and need to fix it quick. So you check out branches/
> 1.x, make the change, test it, and commit it. Then you tag that as 1.1:
>
> svn cp $REPO/project/branches/1.x $REPO/project/tags/1.1
>
> /repo/
> project/
> trunk/
> branches/
> 1.x/
> tags/
> 1.0/
> 1.1/
>
> If the bug also exists in trunk, then you need to port your bugfix to
> trunk. "svn merge" can help you there.
>
> cd trunk-wc
> svn merge -c$R $REPO/project/branches/1.x .
>
> where $R is the revision in which you fixed the bug on the 1.x
> branch. Now you test the fix in trunk and then commit it. Now the bug
> is fixed in trunk too.
>
>
Received on 2008-02-04 00:13:41 CET

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