Subversion

Subversion notes for the team members and mentors

The Spartan Robotics SVN repository is hosted on robotics.mvla.net.  Subversion (SVN) is version control system. The 971 repository has all sorts of files including CAD and source code from the curent season and back to the 2004 season.  Robotics.mvla.net server is a debian linux computer that was configured by and is maintained by Michael and Austin.  The school has an optical fiber internet connection so throughput should be fast.  The repository is backed up dailey to a remote machine.  Michael and Austin manage the accounts and will need to create new passwords for you before you can use it.  Give us a call or ask in person for an account.  Since we will be entering the password in by hand be sure and give us a password that you are comfortable with us seeing.  Passwords must have letter, numbers, and a special character such as "#" or "&".

Most team members use TortoiseSVN client software on their Windows 7, 8, or 10 machines to download and work with the 971 repository.  TortoiseSVN is available for download at http://tortoisesvn.net/downloads . As of 6/24/17, there is a misleading "Advertisement" above the "for 32-bit OS" and "for 64-bit OS" download images.  Be sure and click on one of the download images rather than the add.  As of 6/24/17, the current version is 1.9.5.

After installing TortoiseSVN, use regedit to keep TortoiseSVN from hanging when checking in SolidWorks parts and assemblies.

  • Rename HKEY_CLASSES_ROOT\SldAssem.Document\shellex\IconHandler to IconHandler_doNotUse_SVN_Broken_Schuh
  • Rename HKEY_CLASSES_ROOT\SldPart.Document\shellex\IconHandler to IconHandler_doNotUse_SVN_Broken_Schuh
  • Rename HKEY_CLASSES_ROOT\SldDraw.Document\shellex\IconHandler to IconHandler_doNotUse_SVN_Broken_Schuh

Once you have followed the directions below to check out a copy of the team's SVN repository, be sure and read these 971 team rules for working with SVN.  It is especially important to follow these rules with SolidWorks CAD files.

To download the 2017 Spartan Robotics 971 repository, install TortoiseSVN and reboot your machine, make a folder to work in like SpartanRobotics2017, move into it, right click on the background, left mouse click on "SVN Checkout ...", enter https://robotics.mvla.net/svn/frc971/2017/trunk/, take the defaults, and say OK. Enter the username and password you set up with me and wait for all of the files to download. If you see this, you are in good shape.  Note that in the images below, it has 2012.  Use the current season year rather than 2012.

If you are a Unix/Linux user or Windows Command line person, use "svn co https://robotics.mvla.net/svn/frc971/2016/trunk" from the command line or its equivalent. Download svn with apt-get, build it from source, or do whatever you usually do to install packages.

To download the entire archive (you probably don't need all of this), make an appropriately named directory and check out https://robotics.mvla.net/svn/frc971 .

Be sure and use "https:" rather than "svn:". The 2012 Spartan Robotics archive takes less than a GByte on your hard disk as of 12/11/11. It took me 23 minutes for the first 1.3 GByte download back in 2010 using our home DSL connection. It downloaded 377 MBytes and this expanded out on my local disk to take 1.3 GBytes. The MVHS 971 lab is often times much faster for downloading.

Currently, the 2012 archive contains these directories. We can add more as needed and move them around as needed.

    SpartanRobotics2012/cad
    SpartanRobotics2012/doc
    SpartanRobotics2012/src
SpartanRobotics2012/art

Here are some usage hints:

  • Use "TortoiseSVN/Show Log" to see what people have been doing in the repository.
  • Create files and folders as needed and then do a "TortoiseSVN update" followed by a "TortoiseSVN commit...".  Put in a helpful comment about what you have done to help others and yourself understand what is going on.  Check the boxes of any files and folders you want to have added to the repository.  You will have to enter your username and password.  Do not check the "Save authentication" box.  (OK, you can check it on your own personal computer at home that only you use, but not any of the team ones or ones that others use.  We want the commit logs to correctly show who made the changes.)
    1. For CAD directories/folders, don't check in temporary files that start with "~$".  For example, don't check in "~$SquareSide.SLDPRT".
    2. For programming, don't add *.o, *.obj and *.exe files.  These are rebuilt from source and just fill up the server with unneeded data.  You can easily exclude the files you don't want to add to the repository by right clicking on them and selecting "TortoiseSVN/Add to ignore list".
  • At any time you can also do a "TortoiseSVN/Check for modifications" to see what has changed.  This is a helpful command.
  • Hazards:
    1. Don't copy an SVN folder and change the name to something else and then work on it and think it will be different than the original.  The .svn folder in the folder will map back to the original in the repository and "commits" and "updates" to the original and the renamed copy will both point back to the original in the repository.
    2. Do an SVN updated before SVN commit.

How to Relocate from old svn://boardsailor.com SVN server to https://robotics.mvla.net server

It is time to start using the new SVN server on robotics.mvla.net.  The repository is now at https://robotics.mvla.net/svn/frc971 so use this until I tell you otherwise.  Please note that the protocol has changed from svn to https.  This protocol detail is important!

Here is how you change your copy of the frc971 files to use the new repository.  All steps are important so pay attention.

TortoisSVN:

  • Start at the top of your archive.  In my case, this is "frc971".  Right click on the "frc971" icon and click on the "TortoiseSVN/Relocate... " option.
  • Replace "svn://boardsailor.com" in your path
  • with "https://robotics.mvla.net/svn".  IMPORTANT: change the "svn" to "https" and add "svn/" before "frc971"
  • Click "OK" and you should be prompted for your username and password.  You might also be asked to accept a certificate.  If so, click on "Accept the certificate permanently". The current fingerprint for the actual certificate is listed on the fingerprints page (the one in the picture is old).
       
  • Enter your username and Password, click on "OK" and you should see a confirmation screen:

Linux:

This one is a bit different.  Again start at the top of the archive.  Here is an example showing how to switch the repository to use https://robotics.mvla.net/svn .  The same holds for any part of the repository you may have.

  • cd ~/src/aos
  • do a "svn info" in ~/src/aos
    Path: .
    URL: svn://boardsailor.com/frc971/2012/trunk/src/aos
    Repository Root: svn://boardsailor.com/frc971
    Repository UUID: f308d9b7-e957-4cde-b6ac-9a88185e7312
    Revision: 2534
    Node Kind: directory
    Schedule: normal
    Last Changed Author: brians
    Last Changed Rev: 2534
    Last Changed Date: 2011-12-27 14:23:37 -0800 (Tue, 27 Dec 2011)
  • Use the path listed in the "Repository Root:" line for the first argument of "svn switch --relocate OLD_REPOSITORY NEW_REPOSITORY" like this (all on one line):
          svn switch --relocate svn://boardsailor.com/frc971/2012/trunk/src/aos https://robotics.mvla.net/svn/frc971/2012/trunk/src/aos
  • do an "svn update" to make sure it works.  If you are unable to authenticate, make sure your username is spelled properly in the ~/.subversion/auth/svn.simple directory.  Change (cd) into that directory and find the file with "robotics.mvla.net" in it (grep robotics.mvla.net *) and make sure the username and password are correct.  In particular, make sure the case is correct.  "Michael" will not work for me because my correct username is "michael".

If you have any problems, contact me and I will help you.

Michael Schuh
Michael can be reached by email at Michael.971web at Boardsailor.com and or by phone at (650) 965-8037 Home and (650) 604-1460 Work.