You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 11 Next »

General Turnin Information

For this class, students will use the OwlSpace system to turn in assignments.

In the latter part of the course which involves writing some reasonably large Java programs, students are encouraged to use svn (subversion) to keep a cumulative record of the code they write for assignments. There are many resources available online if you want to learn more about subversion and its advanced features.

Since we are using the OwlSpace system for assignment submission, the use of svn is purely optional for students' benefit. With svn students can always recover prior versions of the program that you have committed to the svn repository.

File Names and Directories

For the first six weeks of this course, all programming assignments are written in the Scheme programming languages. All solutions to Scheme programming problems in an assignment should be placed in a single .ss file. Similarly, all solutions to the free response questions in an assignment should be placed in the same .ss file within block comment brackets.

For the remaining nine weeks of the course, programming assignments will be written in Java. Some Java assignments will involve creating multiple files. To submit a multi-file assignment, place those files in a separate directory (with a name as described below) and create a .zip file for that directory.

File names Files should be named with partner netIDs separated by a hyphen followed by a hyphen and the assignment abbreviation and either the .ss extension (for Scheme programming assignments requiring only a single file) or the .zip extension (for Java assignments consisting of multiple files). For example, the program file for hw01 (in Scheme) submitted by ids gcw5217 and gmalecha should be called gcw5217-gmalecha-hw01.ss . Similarly, the program file for hw07 consisting of a .java program file and a .java unit test file (with the file names specified in the assignment specifications) submitted by ids gcw5217 and gmalecha should be called gcw5217-gmalecha-hw07.zip .

svn Repository Information

Subversion (abbreviated svn) is a system for maintaining the version history of a program code base. In Comp 211, assignments are reasonably small, so using subversion is optional. But subversion maintains a history of all the committed versions of a program, so it prevents you from losing code if you trash your own file system (e.g., your machine has a disk crash). For early Scheme assignments (which are really small), using subversion is probably overkill.

Repository Url:

https://svn.rice.edu/r/comp211/

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="24d23593-ee2f-4455-b4db-b5fe33367492"><ac:plain-text-body><![CDATA[

User Name:

[your rice netid]

]]></ac:plain-text-body></ac:structured-macro>

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="f93d3ca9-1ab5-4703-8573-ca59808f913a"><ac:plain-text-body><![CDATA[

Password:

[your rice password]

]]></ac:plain-text-body></ac:structured-macro>

If you have questions about subversion, please contact one of the labbies and we will respond as soon as we can.

Running svn on Linux

While some graphical clients may exist for Linux, subversion's command line interface is simple and powerful and is the recommended method for accessing subversion from a machine running Linux.

  1. Install svn Installing subversion varies based on the linux distribution that you use. Simply check your package manager ( apt-get , emerge , etc.) for a subversion or svn package and install it the same way that you install all other packages.
  2. *Create a comp211 directory.
  3. Adding a file to the repository To add a file to the repository, save the file under your repository directory (the comp211/[netid] directory created by the svn checkout command) and, from the directory that it is saved in, execute the command.

    svn add [filename]
  4. Committing a file to the server To save your work so that it can be recovered, you must send it to the server (called committing your work). To do this, from the comp211 directory, execute
    svn commit -m "[message describing your change]"
  5. Updating the repository You can update your copy of the repository by executing
    svn update
    Any work that has been committed to the repository will be copied to your disk and, if there are conflicts, you will have to resolve them.

A typical subversion session might look something like this.

/tmp $ svn --username gmalecha co https://svn.rice.edu/r/comp211/
A    comp211/gmalecha
Checked out revision 21.
/tmp $ cd comp211/gmalecha
/tmp/comp211/gmalecha $ touch test.file
/tmp/comp211/gmalecha $ svn add test.file
A         test.file
/tmp/comp211/gmalecha $ cd ..
/tmp/comp211 $ svn commit -m "Added a test file"
Adding         gmalecha/test.file
Transmitting file data .
Committed revision 22.

Running svn on Windows

You can download a Windows version of the command line client from the Subversion site. However, you will probably want to use TortoiseSVN, a graphical client for Windows.

Creating your directory

  1. Download and install the latest version of TortoiseSVN from: http://tortoisesvn.net/downloads
  2. Check out the repository In the folder where you want to keep your COMP 211 work, right click and select "SVN Checkout...":
    !http::^hope.cs.rice.edu/twiki/pub/Teaching/SvnTurnin^windows_check_out.png|width=32"799", height=32"599", alt="The"<span class=!TortoiseSVN Check Out menu option""/>
  3. Enter the repository URL Enter https://svn.rice.edu/r/comp211/ as the repository URL.:
    The"repository URL window
  4. Accept the certificate Click "Accept permanently":
    The"certificate window
  5. Enter your netID and password Enter your netID and password in the correct fields:
    !http::^hope.cs.rice.edu/twiki/pub/Teaching/SvnTurnin^windows_password.png|width=32"336", height=32"231", alt="The"username/password dialog"!

Adding a file to your directory

  1. Adding a file to the repository To add a file to the repository, save the file under your repository directory (the comp211/[netid] directory created when you checked out the repository). Then, right click on it and select "Add..." from the "SVN" menu.
    !http::^hope.cs.rice.edu/twiki/pub/Teaching/SvnTurnin^windows_add.png|width=32"799", height=32"599", alt="The"<span class=!TortoiseSVN Add menu option""/>

  2. Select the files to add Click "OK".
    The"selection dialog when adding files
  3. Wait for the files to be added Click "OK".
    The"Add status window
  4. Committing a file to the server In order for other people (namely the graders) to view your local work, you must send it to the server (called committing your work). To do this, from the comp211 directory, right click and select "SVN Commit...":
    !http::^hope.cs.rice.edu/twiki/pub/Teaching/SvnTurnin^windows_commit.png|width=32"799", height=32"599", alt="The"<span class=!TortoiseSVN Commit menu option""/>
  5. Enter a message Describe what changes you have made. Then click "OK":
    The"Commit dialog
  6. Wait for the files to be sent to the server Click "OK":
    !http::^hope.cs.rice.edu/twiki/pub/Teaching/SvnTurnin^windows_committed.png|width=32"687", height=32"304", alt="The"Commit status dialog"!

Updating your directory

  1. Updating the repository You can update your copy of the repository right clicking in the comp211 folder and selecting "SVN Update":
    !http::^hope.cs.rice.edu/twiki/pub/Teaching/SvnTurnin^windows_update.png|width=32"799", height=32"599", alt="The"<span class=!TortoiseSVN Update menu option""/>
  2. Wait for the files to synchronize Click "OK":
    The"Update status dialog
  3. Assuming that there were no conflicts (changes made to the same file), you now have an up-to-date copy of your repository.

Running svn in Mac

You can download a command line client for the Mac. After installing it, it works just like the Linux command line client. See the Linux section for further instructions.

Subversion Resources


Access Permissions: (Please don't edit)

  • Set ALLOWTOPICCHANGE = Main.TeachersComp211Group
  • No labels