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

Re: simulate labels using tortoiseSVN

From: Simon Large <simon.tortoisesvn_at_googlemail.com>
Date: Fri, 11 Apr 2008 23:00:35 +0100

On 11/04/2008, Vosloo, Jaco <JVosloo_at_wesbank.co.za> wrote:
> Hi All
>
> I have written the following how-to for use in a small development team. Please tell me if I am missing an easier method of accomplishing the same.
>
> Regards
> Jaco Vosloo
>
>
> How to simulate labels in SVN using TortoiseSVN
>
> Create your project structure as follows:
> +svnroot
> ++ projectname
> +++ trunk
> +++ branches
> +++ tags
> ++++ testing
> ++++ production
>
> Create working copies on the computers mentioned below from the relevant folders:
> Development machine - / projectname /trunk
> Test machine - / projectname /tags/testing
> Production machine - / projectname /tags/release
>
> Usage:
> On a day to day basis you should follow the following process for moving code from development to test and then to production.
>
> Development:
> Write some code on the development machine and commit it.
>
> Release for testing:
> 1.Rightclick on the working copy on the development machine and select Branch/Tag.
> a.Select the ellipsis for the URL and go to the testing tag.
> b.Rightclick and Delete the testing tag.
> c.NB! Being careful not to click anywhere else, select OK.
> d.Click OK on the Copy(Branch/Tag) screen.
> 2.Go to the testing machine.
> a.Rightclick on the working copy and select update.
> b.Test the updated code.
>
> Release for production:
> 1.Rightclick on the working copy on the testing machine and select Branch/Tag.
> a.Select the ellipsis for the URL and go to the production tag.
> b.Rightclick and Delete the production tag.
> c.NB! Being careful not to click anywhere else, select OK.
> d.Click OK on the Copy(Branch/Tag) screen.
> 2.Go to the production machine.
> a.Rightclick on the working copy and select update.
> b.Your site is now updated with the tested code.
>
> Notes:
> Handling multiple Production versions:
> If you want to release another stable version of your code then simply add version numbers behind the tags so that your structure grows as follows.
>
> Why is there no "overwrite existing tag" option?
> Subversion does not allow you to overwrite an existing tag yet. In the meantime you have to first delete the tag and re-create it with exactly the same name otherwise your test and production working copies will have to be re-created (aka switched).

Whilst trunk, branches and tags are just arbitrary names, you are
going against conventional use of the branches and tags folders.

If you need a stable branch for testing, by convention you would put
that on a branch, and rather than delete and create a new branch every
time trunk changes you merge changes from trunk to branch. Read the
chapter in the docs on how to do that. Having said that, you may be
better waiting for SVN/TSVN 1.5 as the merge support is much better in
the upcoming release.

Normally a tag is a snapshot of (say) trunk at some particular point,
usually a release, and it is named according to the release identity.
The tags directory contains multiple snapshots so that you can easily
see which one refers to a particular released version. You comment
that switching to another tag is undesireable - why do you say that? I
would expect that to be less error prone than deleting and recreating
a tag.

In your situation you would end up with a structure something like:

+svnroot
++ projectname
+++ trunk
+++ branches
++++ testing
+++ tags
++++ release-1.00
++++ release-1.01
++++ release-1.02
++++ release-1.10

Simon

-- 
       ___
  oo  // \\      "De Chelonian Mobile"
 (_,\/ \_/ \     TortoiseSVN
   \ \_/_\_/>    The coolest Interface to (Sub)Version Control
   /_/   \_\     http://tortoisesvn.net
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe_at_tortoisesvn.tigris.org
For additional commands, e-mail: users-help_at_tortoisesvn.tigris.org
Received on 2008-04-12 00:00:49 CEST

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