SVN for the A2 Repository edit

SVN in a Unix-like System edit

Install Subversion. In Redhat, for example,

sudo yum install subversion

and in Debian.

sudo apt install subversion

Before attempting to create the local repository, check that UTF-8 character encoding is present in the system. An encoding failure will interrupt checkout with a report similar to this.

svn: E155009: Failed to run the WC DB work queue associated with '/home/me/a2', work item 15168 (file-install 44 UnixAos/DarwinA2 Installer/A2 64.app/Icon{U+ F00D} 1 0 1 1)
svn: E000022: Can't convert string from 'UTF-8' to native encoding:
svn: E000022: /home/me/a2/UnixAos/DarwinA2 Installer/A2 64.app/Icon{U+F00D}

If a locales package is available, it should be installed and configured according to instructions such as for Debian. Encoding "en_US.UTF-8 UTF-8" and several others will be effective.

At an arbitrary location, <somewhere>, in the user directory make a directory for the working copy of the repository. Eg.

mkdir <somewhere>/a2[1]

Clone the repository into the directory. In a graphical environment, a dialogue prompting for the password may appear. In that case, the password option should be omitted from the command.

cd <somewhere>/a2
svn checkout \
        --username infsvn.anonymous \
        --password anonymous \
    https://svn-dept.inf.ethz.ch/svn/lecturers/a2/trunk .

Files will be reported as they are retrieved.

Redirecting to URL 'https://svn.inf.ethz.ch/svn/lecturers/a2/trunk':
A    UnixAos
A    UnixAos/buildtools
A    UnixAos/buildtools/Darwin.AMD64.Tool
A    UnixAos/buildtools/Solaris.I386.Tool
A    UnixAos/buildtools/Solaris.AMD64.Tool
A    UnixAos/buildtools/UnixAosBuild.Tool
A    UnixAos/buildtools/Linux.I386.Tool
A    UnixAos/buildtools/Linux.AMD64.Tool
A    UnixAos/buildtools/Darwin.I386.Tool
A    UnixAos/boot
  ...

If checkout is interrupted, by an encoding error or communication failure, this should recover.

cd <somewhere>/a2
svn cleanup .
svn update .

Check that the local repository is complete.

svn status <somewhere>/a2

Subsequently, the local repository can be updated.

cd <somewhere>/a2
svn update \
        --username infsvn.anonymous \
        --password anonymous .

See what has changed (including every changed file) since this subversion repository was created. This will produce a very large output.

svn -v log <somewhere>/a2

For additional details refer to the svn manual.

Documentation predating the SVN archive is in A2Documentation.pdf available from http://cas.inf.ethz.ch/projects/a2/repository/show/trunk/ocp/Documentation. Also refer to the Wayback Machine.

SVN in MS Windows edit

While SVN is not distributed with Windows, third party softwares are available. TortoiseSVN is one possibility. Install an SVN client and proceed as for Unix-like system as described above. SVN commands are executed in Powershell or in the cmd console (instead of "mkdir" use "md"; don't include the Backslash indicating continuity of the svn command), both available in Windows 10. The executable script for Windows is named a2.bat rather than a2.sh. If using PowerShell change "oberon" in a2.bat to "./oberon" or ".\oberon".

  1. In a Unix like system, many variations are available. cd ~ ; mkdir a2 for example.