--- /dev/null
+Github doesn't send good diff emails, so we do it ourselves.
+
+On mtt.open-mpi.org, we have a git clone from github. We then also
+have a local naked git clone that has a post-receive hook that sends
+diff emails.
+
+So via cron, we git pull from github, and then git push to the local
+naked git repo, which then triggers sending the emails.
+
+It's not perfect, but it seems to be good enough.
--- /dev/null
+#!/usr/bin/env perl
+
+use strict;
+
+use Cwd;
+
+die "Must specify location of source git repo"
+ if ($#ARGV < 0);
+
+sub doit {
+ my ($cmd) = shift;
+
+ my $rc;
+ my $outfile = "/tmp/github-send-email-tmp.$$";
+ unlink($outfile);
+ $rc = system("$cmd >$outfile 2>&1");
+ if (0 != $rc) {
+ print "Command failed: $cmd
+Output:\n";
+ open(IN, $outfile);
+ print $_
+ while (<IN>);
+ close(IN);
+ die "Aborting";
+ }
+ unlink($outfile);
+}
+
+foreach my $src_repo (@ARGV) {
+ die "Specified location of source git repo is invalid"
+ if (! -d $src_repo);
+ chdir($src_repo);
+ die "Could not chdir to $src_repo"
+ if (getcwd() != $src_repo);
+
+ doit("/u/mpiteam/git/local/bin/git fetch");
+ doit("/u/mpiteam/git/local/bin/git push email");
+}
+