+#!/usr/bin/sh -e
+
+case ${1} in
+ -h | --help)
+ echo "Usage: git-mirror [path to repos] [path to log file] [html directory]"
+ echo "relative paths are not supported."
+ exit 1
+ ;;
+esac
+
+[ -z ${3} ] && echo "not enough arguments" && exit 1
+[ -z $(which stagit) ] && echo "please install stagit" && exit 1
+
+cd ${1}
+
+[ -d ${3} ] || mkdir ${3}
+stagit-index ./* > ${3}/index.html
+cp /usr/share/doc/stagit/style.css ${3}
+
+while :; do
+ find ${1} -maxdepth 2 -name '*.git' | \
+ while read dir; do
+ newdir=${3}/$(basename ${dir} .git)
+ [ -d ${newdir} ] || mkdir ${newdir}
+ cd ${newdir}
+ stagit ${dir}
+ cp /usr/share/doc/stagit/style.css .
+ git fetch --tags
+ echo $(date -Iseconds) ' | ' ${dir} | tee -a ${2}
+ echo $(tail -n 1500 ${2}) > ${2}
+ done
+ sleep 600
+done