First, I install SVN onto my workstation.  You can get it at <a href="http://subversion.tigris.org/">http://subversion.tigris.org/</a>.  Just having the TortoiseSVN client isn't enough - you need to be able to run command-line SVN commands.

Second, I install Apache Ant.  You can get it at <a href="http://ant.apache.org">http://ant.apache.org</a>.  There's good docs there on how to set it up, but it's important to remember to add its \bin dir to your path (I use c:\ant\bin).

Last, I write an Ant script that does a checkout of a given revision to a temp directory, cleans up the files, and then zips up the whole thing.  The script for building a Model-Glue .zip follows, with comments:

<div class="code"><FONT COLOR=GRAY><I>&lt;!-- Note that the basedir is explicitly set! --&gt;</I></FONT><br>
<FONT COLOR=NAVY>&lt;project name=<FONT COLOR=BLUE>"MyProject"</FONT> default=<FONT COLOR=BLUE>"build"</FONT> basedir=<FONT COLOR=BLUE>"c:/inetpub/wwwroot/modelgluebuilds"</FONT>&gt;</FONT><br>
  <FONT COLOR=GRAY><I>&lt;!-- SVN settings --&gt;</I></FONT><br>
  <FONT COLOR=NAVY>&lt;property name=<FONT COLOR=BLUE>"svn.revision"</FONT> value=<FONT COLOR=BLUE>"68"</FONT>/&gt;</FONT><br>
  <FONT COLOR=NAVY>&lt;property name=<FONT COLOR=BLUE>"svn.username"</FONT> value=<FONT COLOR=BLUE>"svnUsername"</FONT>/&gt;</FONT><br>
  <FONT COLOR=NAVY>&lt;property name=<FONT COLOR=BLUE>"svn.password"</FONT> value=<FONT COLOR=BLUE>"svnPassword"</FONT>/&gt;</FONT><br>
  <FONT COLOR=NAVY>&lt;property name=<FONT COLOR=BLUE>"svn.projecturl"</FONT> value=<FONT COLOR=BLUE>"<A TARGET="_blank" HREF="svn://url/to/your/repo">svn://url/to/your/repo</A>"</FONT>/&gt;</FONT><br>
<br>
  <FONT COLOR=GRAY><I>&lt;!-- A dir for temp files --&gt;</I></FONT><br>
  <FONT COLOR=NAVY>&lt;property name=<FONT COLOR=BLUE>"build.temp"</FONT> value=<FONT COLOR=BLUE>"Temp"</FONT> /&gt;</FONT><br>
  <FONT COLOR=GRAY><I>&lt;!-- A dir for clean files --&gt;</I></FONT><br>
  <FONT COLOR=NAVY>&lt;property name=<FONT COLOR=BLUE>"build.clean"</FONT> value=<FONT COLOR=BLUE>"Clean"</FONT> /&gt;</FONT><br>
  <FONT COLOR=GRAY><I>&lt;!-- Filename of the .zip to create --&gt;</I></FONT><br>
  <FONT COLOR=NAVY>&lt;property name=<FONT COLOR=BLUE>"build.filename"</FONT> value=<FONT COLOR=BLUE>"myProject_{svn.revision}.zip"</FONT> /&gt;</FONT><br>
  &nbsp;&nbsp;&nbsp;<br>
<br>
  <FONT COLOR=GRAY><I>&lt;!-- Create the temp and clean dirs if necessary --&gt;</I></FONT><br>
  <FONT COLOR=TEAL>&lt;target name=<FONT COLOR=BLUE>"createArchiveDir"</FONT>&gt;</FONT><br>
    <FONT COLOR=NAVY>&lt;mkdir dir=<FONT COLOR=BLUE>"${build.temp}"</FONT>/&gt;</FONT><br>
    <FONT COLOR=NAVY>&lt;mkdir dir=<FONT COLOR=BLUE>"${build.clean}"</FONT>/&gt;</FONT><br>
  <FONT COLOR=TEAL>&lt;/target&gt;</FONT><br>
<br>
  <FONT COLOR=TEAL>&lt;target name=<FONT COLOR=BLUE>"build"</FONT> depends=<FONT COLOR=BLUE>"createArchiveDir"</FONT>&gt;</FONT><br>
    <FONT COLOR=GRAY><I>&lt;!--- Check out the code into the temp dir --&gt;</I></FONT><br>
    <FONT COLOR=NAVY>&lt;exec executable=<FONT COLOR=BLUE>"svn"</FONT>&gt;</FONT><br>
      <FONT COLOR=GREEN>&lt;arg line=<FONT COLOR=BLUE>"co ${svn.projecturl} ${build.temp} -r ${svn.revision} --username ${svn.username} --password ${svn.password}"</FONT>/&gt;</FONT><br>
    <FONT COLOR=NAVY>&lt;/exec&gt;</FONT><br>
<br>
    <FONT COLOR=GRAY><I>&lt;!-- Remove any Eclipse .project files that someone may have committed --&gt;</I></FONT><br>
    <FONT COLOR=NAVY>&lt;delete file=<FONT COLOR=BLUE>"${build.temp}/.project"</FONT> /&gt;</FONT><br>
<br>
    <FONT COLOR=GRAY><I>&lt;!--- Do any changes to any files here --&gt;</I></FONT>    <br>
<br>
    <FONT COLOR=GRAY><I>&lt;!-- Move it all to the clean dir --&gt;</I></FONT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
    &lt;copy todir=<FONT COLOR=BLUE>"${build.clean}"</FONT>&gt;<br>
      <FONT COLOR=FF8000>&lt;fileset dir=<FONT COLOR=BLUE>"${build.temp}"</FONT>&gt;</FONT><br>
        <FONT COLOR=NAVY>&lt;exclude name=<FONT COLOR=BLUE>"**/*.svn"</FONT>/&gt;</FONT><br>
      <FONT COLOR=FF8000>&lt;/fileset&gt;</FONT><br>
    &lt;/copy&gt;<br>
<br>
    <FONT COLOR=GRAY><I>&lt;!-- Zip up the clean dir and copy the zip to the basedir --&gt;</I></FONT><br>
    &lt;zip destfile=<FONT COLOR=BLUE>"${build.clean}/${build.filename}"</FONT> basedir=<FONT COLOR=BLUE>"${build.clean}"</FONT> /&gt;<br>
    &lt;copy todir=<FONT COLOR=BLUE>""</FONT>&gt;<br>
      <FONT COLOR=FF8000>&lt;fileset dir=<FONT COLOR=BLUE>"${build.clean}"</FONT> includes=<FONT COLOR=BLUE>"${build.filename}"</FONT> /&gt;</FONT><br>
    &lt;/copy&gt;<br>
<br>
    <FONT COLOR=GRAY><I>&lt;!-- Remove temp and clean dirs --&gt;</I></FONT><br>
    <FONT COLOR=NAVY>&lt;delete dir=<FONT COLOR=BLUE>"${build.temp}"</FONT> /&gt;</FONT><br>
    <FONT COLOR=NAVY>&lt;delete dir=<FONT COLOR=BLUE>"${build.clean}"</FONT> /&gt;</FONT><br>
  <FONT COLOR=TEAL>&lt;/target&gt;</FONT><br>
<FONT COLOR=NAVY>&lt;/project&gt;</FONT></div>