summaryrefslogtreecommitdiff
path: root/AvionicsSVNAccess.mdwn
blob: cc69778c59ade1be7a863d9bcf09d08a37e89f08 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
## 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

<div>
  <table>
    <tbody>
      <tr>
        <td>
          <p>psas/trunk/c</p>
        </td>
        <td>
          <p>All of the code for the flight computer, simulator, launch tower controller, CAN driver, firmware, etc.</p>
        </td>
      </tr>
      <tr>
        <td>
          <p>psas/trunk/c/rocketview</p>
        </td>
        <td>
          <p>GTK+ rocketview application</p>
        </td>
      </tr>
      <tr>
        <td>
          <p>psas/trunk/c/firmware</p>
        </td>
        <td>
          <p>[[PicCore]] and all PIC18F458 CAN node firmware</p>
        </td>
      </tr>
      <tr>
        <td>
          <p>psas/trunk/java</p>
        </td>
        <td>
          <p>The primary rocketview and launch control application</p>
        </td>
      </tr>
      <tr>
        <td>
          <p>psas/trunk/image</p>
        </td>
        <td>
          <p>Images of the flash disk for the flight computer and launch tower computer.</p>
        </td>
      </tr>
      <tr>
        <td>
          <p>psas/trunk/other</p>
        </td>
        <td>
          <p>Documentation, papers, miscellaneous</p>
        </td>
      </tr>
      <tr>
        <td>
          <p>psas/trunk/cad</p>
        </td>
        <td>
          <p>Computer aided design files, including EAGLE and xfig libraries, and schematic and board layout files</p>
        </td>
      </tr>
    </tbody>
  </table>
</div>