Subversion General Information
Subversion is a source control system
similar to CVS that we will be using to provide code to you during the course.
In October, once individual projects begin, you will have access to the primary
SVN codebase being used by the DGC team. In the meantime, for the first few labs,
you will be given read-only access to a repository that contains a trimmed-down
version of that main DGC codebase. If you are not familiar with Subversion, general
usage information is available in the online
SVN Book.
Getting the code
The code for all labs is accessed by checking it out from svn with the following
command from any unix-like machine:
svn co --username rss-student https://svn.csail.mit.edu/rss-dgc
You will then be prompted for the password, which will be provided to you
during lab by a TA. After checkout, you will have a directory called rss-dgc
inside of which is a directory called "software" that contains all the source
code. Change to rss-dgc/software, and type "make". This should compile all
the code.
Updating
From time to time, the TAs may find bugs in the code, or make improvements
to the labs. In order to get these latest changes, type "svn update" from the
top-level directory.
You will generally not need to modify any of the code provided in SVN. Most of
your work will consist of creating new modules parallel to those given to you.
For example, in Lab 1 you are provided with a binary version of carrot_controller.
To implement your own controller, create a directory in software/src, perhaps
called "my_controller" (please pick a unique name). Copy a Makefile from one of
the other modules and adapt it to your own module. When it comes time to turn in
your work, turn in a tarball of that directory.
Bugs and Improvements
The purpose of this course is to get you involved writing production-quality
code for the DGC vehicle! In that light, if you discover bugs or shortcomings in
the code provided to you, please don't hesitate to fix them yourself. You won't
be able to check in the changes in the first few labs, but please email us a patch
at rss-TAs@lists.csail.mit.edu
with your changes so we can update the svn repository and everyone can benefit
from your improvements. To generate a patch, type "svn diff" at the top-level
of the svn working copy. You may need to strip out some unrelated changes.