darcs-graph-1.0: remote-darcs-graph
#!/bin/sh
# Copyright (c) 2006 Don Stewart - http://www.cse.unsw.edu.au/~dons
# GPL version 2 or later (see http://www.gnu.org/copyleft/gpl.html)
set -e
#
# generate a graph of a remote darcs repository
#
# requires darcs-graph and wget in the $PATH
#
# reads darcs repo urls line-by-line on stdin, generating graphs, and
# playing them in a web server dir (currently hard coded below)
#
# create a fake patches dir
d=`mktemp -d`
cd $d
# read darcs repo urls on stdin
while read url ; do
b=`basename $url`
p=$b/_darcs/patches
mkdir $b
cd $b
# get index.html for patches dir
echo "Fetching " $url
if wget -q "$url/_darcs/patches" ; then
mkdir -p $p
# assumes servers return patch dirs in the same format
cd $p
cat ../../../index.html | tr A-Z a-z |\
sed '/href/!d; s/.*href="//; s/">.*$//;/\.gz$/!d' | xargs touch
cd ../../..
/home/dons/bin/darcs-graph -y 25 $b && \
mv /tmp/$b-commits.png /home/dons/www/images/commits/community
fi &
cd ..
done
wait
rm -rf $d