[icon]
 
PLT Subversion RepositoryPLT | DrScheme | TeachScheme! | HtDP | PLaneT  
  

The Subversion server provides access to the source code for PLT software (DrScheme, MzScheme, etc.) as it is being developed. The server is useful for those who want access to the latest and greatest version of PLT software, either to take advantage of new features or to help test the new code.

For a simple access to full nightly builds that does not require Subversion, see the nightly pre-release installers page.

To use the Subversion server, you will need

  • Experience using the regular PLT release.
  • One of the platforms with pre-release binaries, or a C/C++ compiler:
    • Unix: most any compiler
    • Windows: MSVC (Express version is free from Microsoft)
    • Mac OS: gcc (OS X)
  • Subversion client software (optional).
  • Patience and proficiency for using unstable Scheme and C code.
If you lack any of these, consider downloading compiled binaries or source code via the regular download page for DrScheme, MzScheme, or Other PLT Software.

Using the Repository

The subversion repository is on this server, http://svn.plt-scheme.org/plt. For reasonably stable code, always use the trunk, which is at

http://svn.plt-scheme.org/plt/trunk.

The subversion repository is available in many different ways:

  • The simplest way is to just point your browser at this URL, and view the repository.
  • If your operating system has the capability to mount "web folders", you can mount this URL, and get the repository as a plain directory.
  • For more detailed information, you can use the ViewVC interface to the repository.
  • Finally, using the Subversion client, you can checkout the repository with the following command:
      svn checkout http://svn.plt-scheme.org/plt/trunk plt
    (Make sure that you use "trunk", or you will get many copies of the whole tree.)

Repository Overview

The PLT trunk contains the following directories:

  • collects:   Scheme code, organized into collections
  • man:   Unix man pages
  • src:   C code
    • mac:   Mac code
    • mred:   MrEd code
    • worksp:   Windows MSVC makefiles and projects
    • starter:   Windows program-launcher code
    • srpersist:   SrPersist code
    • mysterx:   Windows MysterX code
    • mzscheme:   MzScheme code
    • wxxt:   X MrEd code
    • wxwindow:   Windows MrEd code
    • wxmac:   Mac MrEd code
    • wxcommon:   MrEd code
Of course, when building under Windows (for example), the directories for Unix and Mac aren't needed. Similarly, the MrEd or MysterX directories are not needed to build only MzScheme.

Note that documentation is not available via the repository. See below for information on obtaining and reading pre-release documentation.

Building and Using the Code

Building C Source

Compilation information is provided by README files in various plt/src directories. Start with plt/src/README.

Downloading Pre-Release Binaries

If a binary for your platform is available from the pre-release binaries page, then you can download the binaries instead of building them. The pre-release binaries are updated nightly by building with the trunk code.

For installation instructions, see the bottom of the pre-release download page for your platform.

Updating Collection Files

After building and/or installing the binaries, byte-code-compile the Scheme sources by running Setup PLT (setup-plt in Unix). Whenever you update Scheme code in the plt/collects directory, run Setup PLT.

Getting Updated Documentation

Neither the documentation nor its source is available via the Subversion repository. Instead, Help Desk provides a mechanism for downloading pre-release documentation from a special web site.

Help Desk enables the special pre-release download feature when it discovers a .svn directory within the plt/collects/help directory.

To update installed documentation, Help Desk provides a "refresh all manuals" link on the "Installed Manuals" page. To reach the "Installed Manuals" page, click the "Manuals" link on Help Desk's initial page.

Alternatively, there are pre-release binary distributions that contain a nightly build of the documentations, or you can access these files directly from the pre-release docs page.

Change Logs

The change logs can be found in HISTORY files within plt/notes. For example, plt/notes/mzscheme/HISTORY records the changes made to MzScheme. Relatively detailed notes are kept between regular releases, but then collapsed when the release occurs.

In addition, the Release Chronology page has all release announcements.

Version Numbering

The version numbers for MzScheme and MrEd are always kept in sync. A pre-release version number has the form N.M, where N is one less than the version number for the next regular release, and M indicates the Mth trunk version before the N release. For example, 200.8 means "the 8th checkpoint leading up to the release of version 201".

The Scheme code implementing DrScheme evolves at its own pace, but does not have a version number, per se. Instead, it uses the date of the checked out source for a reference.

Old Sources

PLT Scheme used to be hosted on CVS, but has moved to Subversion. The new repository does not contain the complete history, so the CVS repository is still active for historical content.

Using the Old Repository

  • Repository: anoncvs.plt-scheme.org:/cvs
  • Pserver user: anonymous
  • Password: empty
  • Module: plt
  • Tag for the last stable code in CVS: exp
The following commands will checkout the last stable version in CVS:
  cvs -d :pserver:anonymous@anoncvs.plt-scheme.org:/cvs login
  <hit Enter at the password prompt>
  cvs -d :pserver:anonymous@anoncvs.plt-scheme.org:/cvs checkout -r exp plt