.. -*-rst-*-

Here is the procedure for doing a new release of prest.

Before you release:
  Make sure the program passes the regression tests.

To create a new release:

(1) Check everything into SVN (including the relevant parts
    of the regression tests and/or documentation).
(2) Figure out what the new release version should be, where the
    version number has at least two and up to three parts::

      <major-revision>.<minor-revision>.<bug-fix>

(3) Write up a set of release notes that describe the new release at a
    high level (e.g., "Fixes bug CDCpp19332") and add to the top of the
    file ",ReleaseNotes" in the top-level prest directory so that the 
    release notes occur in reverse chronological order (most recent first) 
    in the file.  Check in ",ReleaseNotes" using the high-level description
    you just wrote as the CVS change log.

(4) Create a tags directory for the release.  It is recommended to use
    a "prest-" followed by two digits for each part of the revision
    number with periods between; e.g., version 1.2.3 would use tag
    prest-00.03.07.  Do ::

      svn cp <URL_ROOT>/trunk/prest <URL_ROOT>/tags/<tag>

    where the ``<URL_ROOT>`` for docutils is ::

      svn+ssh://<user>@svn.berlios.de/svnroot/repos/docutils

(5) Go to some scratch location for building the release (the build
    directory) and delete the previous release (if present).
(6) Check out the release tag using the command ::

      svn co <URL_ROOT>/tags/<tag>

(7) Change to the subdirectory <tag> and make sure the
    following variable ::

      $URL: https://mnodine@svn.berlios.de/svnroot/repos/docutils/trunk/prest/MODIFY.txt $

    in RELEASE has been updated to reflect to reflect the tags/<tag> 
    directory.

    .. note::

       The prest executable figures out what its release number is by
       the numbers in the subdirectory under the tags directory in its
       path.  If you do not check out one of the release tags, prest
       will use "-unreleased-" as its version number.

(8) If a tarball is desired, create the tarball now, before
    configuring and building anything.

(9) Build the prest executables and run the regression tests::

      perl config.prl
      make all
      make testall

(10) Build the documentation::

       make doc
(11) Install everything::

       make install
(12) Delete prest recursively from your build directory. ::

       rm -rf prest
(13) Move any xswats fixed by the release to the "R" (resolved) state.