Today is: Wednesday September 03, 2014

This site contains information on how to access and contribute to the Measurement Board Subversion Repository. NOTE: This Subversion repository is restricted to UC Davis students. Anonymous checkouts are not permitted. All interactions with the Subversion repository must be authenticated via SSH.

Subversion Information:
  • Create the following environment variables in your .cshrc or .bashrc file:
    • SVN_EDITOR=/usr/bin/vim

Subversion Repository Information:
  • Server: pepper.ece.ucdavis.edu
  • Location: /tmp2/jwwebb/svn/measbd
Subversion Repository Server Setup:
  1. Login to pepper.ece.ucdavis.edu via SSH.
  2. Launch the SVN Server using the following command: svnserve -d -r /tmp2/jwwebb/svn

Working locally with the Subversion repository using Subversion:
  • Check out repository to local working directory:
    1. Create local working directory:
      • mkdir mywork/
    2. Check out repository:
      • svn checkout file:///tmp2/jwwebb/svn/measbd
  • Check in changes to the repository:
    1. svn commit
  • Update local working directory from the repository:
    1. Change to the local working directory:
      • cd mywork/
    2. Fetch recent revisions from the remote Subversion repository:
      • svn checkout file:///tmp2/jwwebb/svn/measbd
  • Remove those pesky ".svn/" directories that were accidentally added to the repo:
    1. Delete directory using "svn delete":
      • svn delete -m "remove .svn dir" file:///tmp2/jwwebb/svn/measbd/sw/doc/doxys/doxys_docs/common/helpsrc/.svn
  • Re-creating the SVN Repository from a Dump File:
    1. Create the dump file from the current repository up to a certain revision:
      • svnadmin dump /tmp2/jwwebb/svn/measbd -r 30 --incremental > measbd.rev30.dump
    2. Create empty repository:
      • svnadmin create /tmp2/jwwebb/svn/measbd.new
    3. Load repository with original repository up to revision 30:
      • svnadmin load /tmp2/jwwebb/svn/measbd.new < measbd.rev30.dump

Working remotely with the Subversion repository using Subversion:
  • Check out repository to local working directory:
    1. Create local working directory:
      • mkdir mywork/
    2. Check out repository:
      • svn checkout svn+ssh://pepper.ece.ucdavis.edu/tmp2/jwwebb/svn/measbd
  • Check out sub-directory of repository to local working directory:
    1. Create local working directory:
      • mkdir mywork/
    2. Check out repository:
      • svn checkout svn+ssh://pepper.ece.ucdavis.edu/tmp2/jwwebb/svn/measbd/sw
  • Check in changes to the repository using SVN only:
    1. Check out a copy of the repository on pepper.ece.ucdavis.edu (i.e., /tmp2/<username>/mywork/measbd).
      • cd mywork/
      • svn checkout svn+ssh://pepper.ece.ucdavis.edu/tmp2/jwwebb/svn/measbd
    2. Make your changes.
    3. Use rsync to synchronize the changes from your local machine to your local repository on pepper.ece.ucdavis.edu.
      • rsync -avz measbd/ <username>@pepper.ece.ucdavis.edu:/tmp2/<username>/mywork/measbd/
    4. Login to pepper.ece.ucdavis.edu via SSH.
      • ssh <username>@pepper.ece.ucdavis.edu
    5. Change to the directory containing your repository:
      • cd /tmp2/<username>/mywork/measbd
    6. Commit your changes to the repository using:
      • svn commit
  • Update local Subversion repository:
    1. Change to the local working directory:
      • cd mywork/
    2. Fetch recent revisions from the remote Subversion repository:
      • svn checkout svn+ssh://pepper.ece.ucdavis.edu/tmp2/jwwebb/svn/measbd

Working remotely with the Subversion repository using Git:
  • Check out repository to local working directory:
    1. Create local working directory:
      • mkdir mywork/
    2. Change to the local working directory:
      • cd mywork/
    3. Create a clone of the repository on your local machine:
      • git svn clone svn+ssh://pepper.ece.ucdavis.edu/tmp2/jwwebb/svn/measbd
  • Check in changes to the repository using Git:
    1. After making changes in the new Git repository commit changes from either the command line (i.e., git commit) or the GUI (i.e., git gui).
    2. Use Git to commit the changes to the remote Subversion repository:
      • git svn dcommit --commit-url svn+ssh://<username>@pepper.ece.ucdavis.edu/tmp2/jwwebb/svn/measbd
  • Check out sub-directory of repository to local working directory:
    1. Create local working directory:
      • mkdir mywork/
    2. Change to the local working directory:
      • cd mywork/
    3. Create a clone of the repository on your local machine:
      • git svn clone svn+ssh://pepper.ece.ucdavis.edu/tmp2/jwwebb/svn/measbd/sw
  • Check in changes to a sub-directory of the repository using Git:
    1. After making changes in the new Git repository commit changes from either the command line (i.e., git commit) or the GUI (i.e., git gui).
    2. Use Git to commit the changes to the remote Subversion repository:
      • git svn dcommit --commit-url svn+ssh://<username>@pepper.ece.ucdavis.edu/tmp2/jwwebb/svn/measbd/sw
  • Update local Git repository from remote Subversion repository using Git:
    1. Change to the local working directory:
      • cd mywork/
    2. Use Git to get recent revisions from the remote Subversion repository:
      • git svn fetch
    3. Alternatively you could use:
      • git svn rebase
    4. To learn about the differences between fetch and rebase please refer to the sites listed below.


Jeremy W. Webb
Graduate Student
Electrical and Computer Engineering Department
One Shields Avenue
Davis, CA 95616

Last Modified: Sunday, February 07, 2010 12:42:51 PM