A few people have asked how I create the Model-Glue .zip files. I'll be covering this in increased detail in a talk at CFUnited, but what follows is a quick overview.
First, I install SVN onto my workstation. You can get it at http://subversion.tigris.org/. 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 http://ant.apache.org. 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:
<!-- Note that the basedir is explicitly set! -->
<project name="MyProject" default="build" basedir="c:/inetpub/wwwroot/modelgluebuilds">
<!-- SVN settings -->
<property name="svn.revision" value="68"/>
<property name="svn.username" value="svnUsername"/>
<property name="svn.password" value="svnPassword"/>
<property name="svn.projecturl" value="svn://url/to/your/repo"/>
<!-- A dir for temp files -->
<property name="build.temp" value="Temp" />
<!-- A dir for clean files -->
<property name="build.clean" value="Clean" />
<!-- Filename of the .zip to create -->
<property name="build.filename" value="myProject_{svn.revision}.zip" />
<!-- Create the temp and clean dirs if necessary -->
<target name="createArchiveDir">
<mkdir dir="${build.temp}"/>
<mkdir dir="${build.clean}"/>
</target>
<target name="build" depends="createArchiveDir">
<!--- Check out the code into the temp dir -->
<exec executable="svn">
<arg line="co ${svn.projecturl} ${build.temp} -r ${svn.revision} --username ${svn.username} --password ${svn.password}"/>
</exec>
<!-- Remove any Eclipse .project files that someone may have committed -->
<delete file="${build.temp}/.project" />
<!--- Do any changes to any files here -->
<!-- Move it all to the clean dir -->
<copy todir="${build.clean}">
<fileset dir="${build.temp}">
<exclude name="**/*.svn"/>
</fileset>
</copy>
<!-- Zip up the clean dir and copy the zip to the basedir -->
<zip destfile="${build.clean}/${build.filename}" basedir="${build.clean}" />
<copy todir="">
<fileset dir="${build.clean}" includes="${build.filename}" />
</copy>
<!-- Remove temp and clean dirs -->
<delete dir="${build.temp}" />
<delete dir="${build.clean}" />
</target>
</project>