--- /dev/null
+#!/usr/local/bin/perl
+use URI::Escape;
+use JSON;
+
+# Read in the POST data and URL-decode it.
+$data="";
+while (<>) {
+ $data .= $_;
+}
+$data = uri_unescape($data);
+$data =~ s/.*?=//; # JSON::decode_json doesn't like the 'payload=' prefix.
+
+# Save for debugging.
+open (MYFILE, '>./postdata.txt');
+print MYFILE $data;
+close (MYFILE);
+
+# Parse the JSON
+$perl_scalar = decode_json $data;
+$id=$perl_scalar->{'after'};
+die unless $id =~ /^[0-9][a-f]*$/;
+print "Id: $id\n";
+
+# Run the actual commit hook.
+system("./commit.sh $id");
--- /dev/null
+#!/bin/bash
+id=$1;
+
+echo id: $id > ./id.txt
+dir=git-$id
+mkdir $dir
+cd $dir
+
+# TODO(danvk): any way to clone at a particular revision?
+git clone --depth 0 git://github.com/danvk/dygraphs.git
+cd dygraphs
+./generate-combined.sh
+
+# Copy data over to http://www.danvk.org/dygraphs/
+cp tests/*.html tests/*.js ~/danvk.org/dygraphs/tests/
+cp dygraph.js dygraph-canvas.js dygraph-combined.js gadget.xml excanvas.js thumbnail.png docs/* ~/danvk.org/dygraphs/
+
+cd ../..
+rm -rf $dir