<!DOCTYPE public "-//w3c//dtd html 4.01 transitional//en"
<title>How to check in a new submission</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<h2>New Submissions (editors only)</h2>
<p>[<a href="#setup">setup</a>] [<a href="#new">new submission</a>] [<a href="#devel">new submission in devel</a>]</p>
<p><a name="setup"><b>Mercurial Setup</b></a></p>
<p>As editor you have at least two working copies of the repository: current
release branch and development version.</p>
Start by making a directory <code>~/afp</code> where the different branches
<li>To set up the release version, in that directory do (fill in 20XX and login)<br>
<code>hg clone ssh://<login>@afp.hg.sourceforge.net/hgroot/afp/afp-20XX release</code>
<code>hg clone ssh://<login>@afp.hg.sourceforge.net/hgroot/afp/afp devel
<p>You might need to set up ssh keys on sourceforge for this to work. More information on ssh at sourceforge is available <a
<p>New submissions, changes to the web site and to admin scripts go into
afp/release. A script automatically propagates these to the development
branch once a day.</p>
<p>Maintenance and changes on existing submissions all occur in afp/devel and go
properly public with the next Isabelle release (they are only available as
(public) development tar.gz's)</p>
<p><a name="new"><b>New Submissions</b></a></p>
<p>Everything happens in the release branch <tt>afp/release</tt>.</p>
<li>unpack tar file and move new entry to <tt>afp/release/thys</tt></li>
<li>to check, run in <tt>afp-release/thys</tt><br>
<code>../admin/testall -r Isabelle200X -c <name></code><br>
(be sure to have ISABELLE_RELEASES set to the path where Isabelle releases are kept, e.g. /home/proj/isabelle/)
<li>create/adjust <tt>config</tt> file (template in <tt>thys/Example-Submission/config</tt>)</li>
<li><code>hg add</code> and <code>hg commit</code> the new submission</li>
<li>create a web page for the entry in <tt>afp-release/web/entries</tt>.
Copy <tt>Submission-Template.shtml</tt> (the s in shtml is important). Look for ??? to find slots.</li>
<li><code>hg add</code> and commit the new file.
You only need to create this file, tar.gz, pdf, etc is generated by
<li>create a new entry in
<tt>afp-release/web/index.shtml</tt> with a link to the new entry page.
Copy the template, look for 'template' to find an empty entry, look for
??? to find slots.</li>
<li>add a link to the new entry in the index:
An entry can be in more than one category.
<li><code>hg commit</code> the changes.
<li>finally, when you are happy with everything, <code>hg push</code> the changes to sourceforge. The publish script will refuse to publish if the changes aren't pushed.
<li>to publish the changes to the web, run<br>
./publish -r Isabelle200X <name>
This will check out the Isabelle200X (=release) version of the archive from
sourceforge, will run the session <name> with /usr/proj/isabelle/Isabelle200X/bin/isatool to generate
HTML, produce a tar.gz for the archive and for the entry, and will update the
web pages on the server. The script will ask before it does the copy to the
server, so you can check locally if everything is as you want it.
<li>That's it. Changes should show up at <a href="http://afp.sf.net">http://afp.sf.net</a></li>
<p><a name="devel"><b>New submission in devel</b></a></p>
Although it is a condition of submission that the entry works with the current stable Isabelle version, occasionally it happens that a submission does not work with the stable version and cannot be backported, but is important/good enough to include anyway. In this case, we can't relesase the submission on the main web site yet, but we can add it to the development version of the archive, such that it is at least available to those who are working with the current Isabelle development snapshot.</p>
The check-in procedure is the same as for a normal release entry, apart from the fact that everything happens in the devel instead of release directory and that the last step (publish) is omitted.</p>
The authors of the entry should be notified that the entry will only show up on the front page when the next Isabelle version is released.</p>