GENIE:TortoiseSVN

TortoiseSVN
TortoiseSVN is a Windows client to Subversion that integrates directly into Windows Explorer.


 * TortoiseSVN webstie http://tortoisesvn.tigris.org/
 * TortoiseSVN documentation http://tortoisesvn.net/docs/release/TortoiseSVN_en/index.html
 * TortoiseSVN download http://tortoisesvn.net/downloads

Obtaining and Installing TortoiseSVN
TortoiseSVN is maintained at http://tortoisesvn.tigris.org/ and the latest version of the software can be obtained from http://tortoisesvn.net/downloads. The software is bundled in a Microsoft installer file and you should download the appropriate file for your computers architecture. You will need administrator privilege on your machine to install the software and it will require a reboot once complete.

Checking out GENIE

 * Open Windows Explorer and navigate to a directory into which you wish to checkout the code
 * [[image:emptyDir.png|Empty directory ready for checkout]]
 * Right click in the empty directory and you should find TortoiseSVN menu items. Select SVN Checkout...:
 * [[image:SVNcheckout.png|Right click to find TortoiseSVN menu items]]
 * A dialog box will ask you to provide the URL of the SVN repository. For the main GENIE development trunk the URL is http://source.ggy.bris.ac.uk/subversion/genie/trunk. We will checkout the code to a subdirectory called genie.
 * [[image:checkoutURL.png|TortoiseSVN checkout dialog]]
 * The repository can be browsed by clicking the button labelled ... at the end of the URL of Repository line. You are likely to find that you are prompted for your username and password whenever you interact with the repository
 * [[image:authenticate.png|SVN Authentication]]
 * The tags and branches can be found in the repository along with the trunk
 * [[image:browseRepository.png|Repository browser]]
 * You can select the trunk, branch or tag that you want to check out using the repository browser or simply type it in at the checkout dialog. Once satisfied with your choice simply click OK on the Checkout dialog and the code will be retrieved from the repository
 * [[image:checkoutProgress.png|Checkout progress dialog]]
 * TortoiseSVN modifes the icons in Windows Explorer to show files that are under Subversion control and provide an immediate view of the status of files in your checked out copy. When you have a clean up-to-date copy of the code all the icons have a comforting green tick attached to them
 * [[image:freshCheckout.png|Unmodified files have a green tick attached to their icons]]

Development activity

 * When you make modifications to the files in your checkout of the code the icons in Windows Explorer are modified to show that changes have been made. In this case a number of files have been edited in the embm, goldstein and seaice modules
 * [[image:modifiedCheckout.png|Windows Explorer labels modified files with a red exclamation mark]]
 * TortoiseSVN provides a diff viewer that you can use to view the changes that have been made to a particular file. By right clicking on the file concerned you can select Diff from the TortoiseSVN -> submenu
 * [[image:selectDiff.png|Right click the file and select Diff to launch the TortoiseMerge viewer]]
 * TortoiseMerge shows the differences between the local file and the file in the repository
 * [[image:diffViewer.png|TortoiseMerge shows the differences between the local file and the file in the repository]]

Committing changes to the repository

 * Once satisfied that your changes should be committed to the repository you should check that your copy of the code is up to date. A SVN update is achieved by right clicking on the genie root directory and selecting SVN Update</tt>
 * [[image:SVNupdate.png|SVN update is on the right click menu]]
 * The code can be committed to the repository by similarly right clicking and select SVN Commit...</tt>
 * [[image:SVNcommit.png|SVN update is on the right click menu]]
 * A dialog will ask you to provide a comment for the commit
 * [[image:commit.png|Enter a message when committing updates to the repository]]

Branching and Merging
To be written