Subversion

Subversion notes for the team members and mentors

The Spartan Robotics SVN repository is hosted on svn.frc971.org.  Subversion (SVN) is version control system. The 971 repository has all sorts of files including CAD and source code from the curent season and seasons back to the 2004 season.  The svn.frc971.org server is a debian linux computer that was configured by and is maintained by Stephan and Michael.  Stephan and Michael 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 10 machines to download and work with the 971 repository.  TortoiseSVN is available for download at http://tortoisesvn.net/downloads . As of 7/25/2020, 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 7/25/2020, the current version is 1.14.0.  I suggest downloading the most recent version.

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 2020 Spartan Robotics 971 repository, install TortoiseSVN, make a folder to work in like SpartanRobotics2020, move into it, right click on the background, left mouse click on "SVN Checkout ...", enter https://svn.frc971.org/svn/frc971/2020/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 2020.  Change this for a differnet year.

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

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

As of July 25, 2020, a local working copy of the 2020 part of Spartan Robotics frc971 repository uses 3 GBytes and takes an hour to download on my home DSL connection.  Downloads in the MVHS 971 lab are often times much faster thanks to the school's high speed internet connection.

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.
  • If TortoiseSVN is hanging when you are checking in SolidWorks parts and assemblies, make the following changes using regedigt to fix this.  It seems like recent versions of TortoiseSVN and SolidWorks are working fine without making this change.  So upgrading to the newest version of TortoiseSVN might also fix this problem.

    • 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

How to Relocate from the old robotics.mvla.net SVN server to the new https://svn.frc971.org 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 "robotics.mvla.net" in your path


  • with "svn.frc971.org"


  • 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://svn.frc971.org/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: https://robotics.mvla.net/frc971/2012/trunk/src/aos
    Repository Root: https://robotics.mvla.net/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 https://robotics.mvla.net/frc971/2012/trunk/src/aos https://svn.frc971.org/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 "svn.frc971.org" in it (grep svn.frc971.org *) 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.