Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

While Rice provides a simplified turnin command on its Clear cluster for accessing the repository, you are not required to use it. You can opt to use it is restricted to shells running on CLEAR machines.  For this reason, we strongly recommend that  regular SVN commands to submit your assignment: follow the submitting your homework with SVN commands section. In fact, we highly recommend that you learn assignments from your personal machines so you will need to learn how to use an SVN client to directly interact with the repository. If you prefer using Git, you can also try using the Subversion client built into Git (git svn).

The turnin program is a script that uses Subversion to enable student homework submissions. It is available only in the Clear cluster.

Option A: Using SVN commands for direct repository access

...

Submitting your Homework using IntelliJ IDEA

If you are planning to use IntelliJ IDEA as your primary development environment for this course, you can use IntelliJ's Subversion integration to manage and submit your assignments.

...

from personal machines

Submitting your Homework from your Linux or Mac machine (Using SVN commands)

...

If you are using Windows 10, we recommend the course sttaff recommends that you set either:

  1. Set up the Windows Subsystem for Linux (WSL)

...

  1.  and then

...

  1. follow the steps above for using the SVN command on Linux, or 
  2. Use a standalone visual SVN client like TortoiseSVN, which augments the menus embedded Windows File Explorer with SVN commands.  

I am following the second approach which is working well.  I highly recommend it.  I also have WSL installed on my Windows 10 laptop but I strongly prefer running the native Windows 10 edition of Racket on my machine than the Linux edition of Racket inside WSL.  If you install WSL, there are two choices:

  • WSL 1.0, the original version which embeds the Linux file system inside the Windows 10 file system and implements the Linux kernel as a Windows 10 application built on top of Windows services.  
  • WSL 2.0, a new implementation based on OS virtualization (as done by VMWare and VirtualBox).  

In my experience, WSL 2.0 works better than WSL 1.0.  Both are available for download from Microsoft (who developed them) and there are detailed instructions on the web on how to install either system.  Regardless of whether you choose WSL 1.0 or WSL 2.0, you can select the particular variety of Linux that you want to install.  I strongly recommend installing the latest version of the long-term release of Ubuntu (20.04).  I have WSL 2.0 Unbuntu 20.04 installed on my laptop.  The principal problem with WSL 1.0 is that the final name space in Windows is much more restrictive that it is in Linux and many apps that you try to install on WSL 1.0 blow up because they use illegal fie names.  The principal hassle with both WSL 1.0 and 2.0 is that GUI applications are painful to set up because they require some control over the windowing system on Windows 10.  The hack that I use (again consult the web for various ways to solve the GUI issue)  requires eliminating firewall protection for the base Windows 10 system, which I dislike.  In contrast, the conventional command line interface simply relies on Windows 10 terminal applications for program interaction, so security on your laptop is not compromised.  Microsoft is feverishly working on providing better support for GUI applications in WSL 2.0 so I expect a much better solution to this problem within a year.  For now, WSL 2.0 is an interesting curiosity and works well for Linux apps without a GUI interface, but how many modern apps do not have a GUI?

Note: in the latter part of the course when programming in Java, you may want to use SVN integration supported by your IDE if it is available.  DrJava does not support IDE integration, but IntelliJ IDEA and Eclipse doYou may also opt to use the SVN integration in your IDE (see the section on IntelliJ above), or use a standalone visual SVN client like TortoiseSVN.

Option B: Using the turnin command on CLEAR

...