DEPRECATED circa 2007: PSAS no longer uses SVN, we use git.
What SVN is used for
Subversion (SVN) is a version control system offering several features that are lacking in CVS, including atomic commits (commits to multiple files tracked as a single action). We use it to store all of our public code for the project.
Note: for new projects, we use git; however, the instructions below still work for the existing Subversion repositories.
Subversion access
Since Subversion has no concept of modules, checking out the tree is simple. Run the following command:
svn co http://svn.psas.pdx.edu/svn/psas/trunk/
However, this will fill your tree with many megabytes of documents. If you are only interested in software development, you probably only want these directories:
svn co http://svn.psas.pdx.edu/svn/psas/trunk/c
svn co http://svn.psas.pdx.edu/svn/psas/trunk/java
Other available directories are
- "cad" for Avionics CAD drawings, board layouts, etc.
- "gps" for Andrew's GPL-GPS thesis
- "haskell" for experimental Haskell code from Jamey
- "image" for huge Linux kernel images for the FlightComputer Flash drive
- "other" for older papers and miscellaneous
To update your checkout to the latest version, run the following command from your previous checkout.
svn up
You can view the repository on the web at [http://svn.psas.pdx.edu/]
Checking in code
To check in code, you first need an account on the SVN server. A user with root needs to do:
ssh svcs.psas.pdx.edu
cd /var/lib/svn
(sudo edit dav_svn.authz to add a new rw user to the psas section)
sudo htdigest .htdigest protected <username>
Then the user will have to enter their password. Note that this password will be displayed in plaintext in your home directory in some subversion files, so don't use a password that needs to be secure.
Once you have an account, you can check in files using
svn ci
The first time, it will prompt you for the password you gave when adding your account. After that, the password will be stored for future use.
Tree structure
psas/trunk/c |
All of the code for the flight computer, simulator, launch tower controller, CAN driver, firmware, etc. |
psas/trunk/c/rocketview |
GTK+ rocketview application |
psas/trunk/c/firmware |
PicCore and all PIC18F458 CAN node firmware |
psas/trunk/java |
The primary rocketview and launch control application |
psas/trunk/image |
Images of the flash disk for the flight computer and launch tower computer. |
psas/trunk/other |
Documentation, papers, miscellaneous |
psas/trunk/cad |
Computer aided design files, including EAGLE and xfig libraries, and schematic and board layout files |