How to Branch using Tortoise SVN

Repository Conventions When using Subversion / TortoiseSVN I tend to use the 'conventional' repository layout by adding branches/tags/trunk directories to the root: (Please click on any images shown here to enlarge.) TortoiseSVN13 1. Create a repository branch In Windows Explorer, select the trunk project folder (RouteOptimizer2010 in this example) from which you would like to branch, right-click and select 'TortoiseSVN' > 'Branch/tag...'. TortoiseSVN19 In the destination path of the Branch/Tag dialog that appears, enter the repository path of the branch that you wish to create, in my example it is branches/RouteOptimizer_Branch1. Select the HEAD revision if it is the most recent trunk version you want to branch from, otherwise choose a specific revision number. You can also also add a Log message if desired. Then click OK: TortoiseSVN2 You may then get this kind of message: TortoiseSVN14 Which means that your Repo-browser still points to the same trunk path location in the repository. Don't worry about that for now. Once this repository branch has been created, you can then create and checkout this branch into your local work directory, so that you can make your changes on the branched version, rather than on the trunk version. In many work situations, the main trunk branch is often left strictly alone, while any changes are made to branched versions, which are merged and incorporated into the trunk branch at a later date. Open Repo-browser (doesn't matter where), select the trunk directory and select project from where you are creating a branch: TortoiseSVN16 Right-click on the project you are branching and select 'Copy To', giving the path URL of the branch ( .../branches/RouteOptimizer2010 in this example): TortoiseSVN5 And fill in the message edit box, if required: TortoiseSVN6 2. Check out your branched project In Windows Explorer, create a directory for your branched version in an appropriate location: TortoiseSVN20 Right click on your branch project folder and select 'SVN Checkout'. Select the 'URL of repository' to be the new branch location and select the checkout directory to be the new branched project folder you created, as shown in the following screenshot. I usually make the checkout depth to be fully recursive: TortoiseSVN18 TortoiseSVN9 After filling in the URL, folder location etc, click OK. This will checkout all of your branched project files into your selected branch folder: TortoiseSVN12 This will be the folder from where you make any changes, checking them into the selected branch of the repository for the time being, not the trunk. One final thing to make sure is that the Repo-browser now points to your intended branch, not the trunk. To do this, right-click on your project folder and select Repo-browser, and use this to confirm or make sure you are now pointing to the branch: TortoiseSVN21

Comments

Popular posts from this blog

Using the Supervisor Controller Pattern to access View controls in MVVM

Getting started with client-server applications in C++

How to send an e-mail via Google SMTP using C#