The page will describe how to set up your environment to use SVN. In order to figure out how to actually use it, the best thing to do is to read this page: subversion doc (Note: right now we're running SVN 1.0, so make sure if you read documentation it's for 1.0)

Setting up Smart SVN

WINDOWS pictures here:

  • Download SmartSVN
  • Install it
  • The first time you run it, it will tell you to create a new repository (if it doesn't, then click Check out project from repository in the 'Welcome' window and then Manage in the check 'Check Out Project' window)
  • Click Add, "Enter SVN URL" and enter this, it will fill in some things for you svn+ssh://ras.ece.utexas.edu/var/lib/svn/igvc2007, enter password and login (check admin if you have an account)
  • Please note that if you are a new member you would want to use svn+ssh://ras.ece.utexas.edu/var/lib/svn/newbotics in all of the above and following cases instead of the link which says "igvc2007" at the end. You also want to name your folder newbotics in your working_dir later....
  • Click Next, it should verify the connection, Click Finish
  • Click Ok for the Repository Profiles window, Now that profile should be selected in the Check Out Project window, so click next
  • Click next again to check out the whole project. (if you want to check out just a subdirectory, you can click that in the file browsing window, but be advised, SmartSVN will only let you have one check-out per project. ...)
  • Make Local Directory 'c:\first\tincans07' it's important that all the machines have the same path, (blame microsoft for this)
  • Under "Check Out:" click Relative to repository root (see pictures link at the top for more details)
  • Click next, give the project a name, * Click finish, * and you're done! , * now get to work

Directory Structure ¶

  • /var/lib/svn/igvc2007 (or C:\working_dir\igvc2007 on your local machine) is the "repository".
  • Within the repository, you can have multiple projects (i.e. igvc2007/proj1) but we only have one project, so there are no project directories.
  • Within each project directory (which in our case is the same as the repository) you will see "branches", "tags", and "trunk". Trunk is the current version of the project. Branches contains side versions in development. Tags contains various snapshots of the project. (For more info on this see subversion doc).

Linux ECE or RAS svn Tutorial ¶

  1. Login using putty or simply do this on your local linux computer
    • For ECE linux accounts, use linux01.ece.utexas.edu or another linux(01-24) or sun(1-18).ece.utexas.edu
  2. type svn checkout svn+ssh://ras.ece.utexas.edu/var/lib/svn/igvc2007 , replace igvc2007 with your module name, i.e. lamlyncaS12
  3. if using local, make sure you put your username@svn+ssh://ras.ece.utexas...(etc.)
  4. If this doesn't work, you might not have access to the SVN group, type groups , if you don't see users, email contact AT ras.ece.utexas.edu
    • Heres a handy tip to allow users to edit files without worring about permissions. Set the permissions of a directory with $chmod -R g+rw mydirectory and $chgrp -R mygroup mydirectory. then set the sticky bit on with $chmod -R g+s mydirectory. From then on new files will be created with the permissions you've set, and edited files won't revert to being owned by the editor. Reference - Red-Hat Groups
    • Keep in mind the recursive -R option might not work, because you don't have permission to the binary files, you would need to use root to override permissions
  • Optional Steps
  • You should always see code, if you don't then either you did something wrong, or you don't have the latest version of smart svn (the old one had a bug). It's true that most people will only need trunk, but it won't hurt you to have tags and branches as well, more on that below.

Feedback ¶

  • Andy's Thoughts

o _Your directory has to be "working_dir" because Labview/Windows use Absolute Paths !