#!/bin/sh
set -e # stop if we encounter an error

# pull the latest changes
if [ -e .svn ] ; then
	svn update
elif [ -e .git ] ; then
	git svn rebase
else
	echo 2>&1 "Cannot figure out which version control thing you're using.  Skipping update"
fi

# clean up the working directory
make clean

# actually build the site
make -j3

# don't copy over stuff with permissions that make it useless
chmod -R a+r *
rsync \
	--exclude .DS_Store \
	--exclude .svn \
	--exclude .git \
	--exclude '.*.sw[po]' \
	--exclude .deps \
	--exclude svn \
	--exclude dist \
	--exclude releases \
	--exclude torbutton-current.xpi \
	--exclude project \
	-Prvz --delete . www-master.torproject.org:/srv/www-master.torproject.org/htdocs

echo "Forcing mirror update"
ssh www-master.torproject.org '
	(
	 find /srv/www-master.torproject.org/htdocs ! -perm -444 -print0 | xargs -0 --no-run-if-empty chmod -v a+r ||
	 ( echo >&2 "There are unreadable files in /srv/www-master.torproject.org/htdocs, not triggering mirror run."; exit 1)
	) &&
	echo "Triggering mirror run" &&
	/home/mirroradm/bin/trigger-mirrors'