Using TortoiseSVN with Putty/Pageant for SVN access to AGLT2 SVN server

Prerequisites

  • Install TortoiseSVN from http://tortoisesvn.net/downloads.html
  • Setup putty and create a session to login with a key to ndt.aglt2.org: SetupSSHKeys#Step_by_Step_Putty_and_Pageant_s
  • Recommend using pageant or you will be entering your passphrase a lot.
  • Extra Credit: install Kerberos for windows, install nightly build of Putty with Krb5 authentication support, configure ndt and other systems to work for Kerberos SSH logins. Become Ben's personal hero (some attempts have been made at doing this).

Checking out a repository

  • Create a directory you'd like to use. This will henceforth be known as your "working copy".
  • Right-click on this directory and choose "SVN Checkout"
  • For the URL, enter the name of the Putty session you've already created and the repository: svn+ssh://ndt/repos/admin/trunk
    NOTE: If you leave off the "trunk" you can grab branches, tags, trunk all at once, or as needed check those out into new directories.
  • For reasons unknown, you'll see a couple errors pop up though the checkout will be successful. These don't occur during future commits or updates.
  • All the usual SVN commands are available from a right-click context menu using any Windows Explorer window
  • Commands available on the top-level of context menu are customizable - from TortoiseSVN context menu choose Settings -> General -> Context Menu.

Using the AGLT2 documents repository

  • Before using any document for informational or editing purposes, right-click on your working copy and choose "SVN update".
  • Before editing any document, right click on it in your working copy and from the TortoiseSVN menu choose "Get Edit Lock". When finished, commit your changes. Lock will automatically be released. If you choose to commit no changes, manually release the lock from the context menu the same way you obtained it.
  • To add new documents to version control use the "Add" context-menu item. New documents created will not be recognized or checked in until added in the local working copy.

Recommended best practices

  • Copies are free and don't use more space in the repository. If you wish to keep versioned changes of your ongoing radical edit, use branches instead of creating alternative file names which cause confusion. Create a tag of the trunk before copying your branched document in place of the trunk document (or, if all changes completed in working copy, tag before commit to trunk).
  • When radically altering a document in anticipation of future changes, edit lock the one in trunk. As long as it takes. We'll survive.
  • Referencing above, DO NOT EVER leave a trunk document in unusable/incorrect state in relation to current reality. We will always assume the document in trunk is as correct as we can make it.
  • Do not put things which make no sense to version in repository. Pictures, image copies of Visio drawings, alternative file formats of versioned documents, manufacturer documentation for reference - these are all things which in my opinion should not be kept here. Continue to use Groove/Sharepoint, or preferably migrate to AFS share for these items. This is open to discussion. We'll probably settle on reasonable usage over time.
  • Copies are free, commits are not. These are binary files and every commit creates a full new copy of the file. Whenever reasonable keep changes grouped together so only one copy needs to be committed. Don't let this stop you from committing needed changes, only from making frequent commits in a single editing session.
  • Stealing edit locks is possible. Before doing so without some good reason (like someone forgot to release) consider carefully the distance from my office to your location.

-- BenMeekhof - 17 May 2011
Topic revision: r3 - 17 May 2011 - 22:57:58 - BenMeekhof
 

This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback