--- /dev/null
+#!/bin/sh
+
+top_dirs="nofib testsuite"
+
+function darcsall()
+{
+ for dir in $top_dirs; do
+ if test -d $dir -a -d $dir/_darcs; then
+ echo "== running darcs $* in $dir"
+ (cd $dir && darcs $*)
+ else
+ echo "== $dir not present or not a repository; skipping"
+ fi
+ done
+ cd libraries
+ for repo in `cat default-packages`; do
+ dir=`basename $repo`
+ if test -d $dir; then
+ echo "== running darcs $* in libraries/$dir"
+ (cd $dir && darcs $*)
+ else
+ echo "warning: $dir doesn't seem to exist, use 'darcs-all get' to get it"
+ fi
+ done
+}
+
+function darcsget()
+{
+ case $* in
+ *--partial*) ;;
+ *) echo "warning: adding --partial, to override use --complete"
+ esac
+
+ cd libraries
+ for repo in `cat default-packages`; do
+ if test -d `basename $repo`; then
+ echo "warning: `basename $repo` already present; omitting"
+ else
+ echo "== running darcs get --partial $* $repo"
+ darcs get --partial $* $repo
+ fi
+ done
+}
+
+if test ! -d _darcs -o ! -d ghc; then
+ echo "error: darcs-all must be run from the top level of the ghc tree."
+ exit 1;
+fi
+
+case $1 in
+ push) darcsall $*;;
+ pull) darcsall $*;;
+ get) shift; darcsget $*;;
+ *) echo "syntax: ./darcs-all push|pull"; exit 1;;
+esac
--- /dev/null
+http://darcs.haskell.org/packages/Cabal
+http://darcs.haskell.org/packages/ALUT
+http://darcs.haskell.org/packages/GLUT
+http://darcs.haskell.org/packages/HGL
+http://darcs.haskell.org/packages/HUnit
+http://darcs.haskell.org/packages/HaXml
+http://darcs.haskell.org/packages/Japi
+http://darcs.haskell.org/packages/ObjectIO
+http://darcs.haskell.org/packages/OpenAL
+http://darcs.haskell.org/packages/OpenGL
+http://darcs.haskell.org/packages/QuickCheck
+http://darcs.haskell.org/packages/Win32
+http://darcs.haskell.org/packages/X11
+http://darcs.haskell.org/packages/arrows
+http://darcs.haskell.org/packages/base
+http://darcs.haskell.org/packages/fgl
+http://darcs.haskell.org/packages/haskell-src
+http://darcs.haskell.org/packages/haskell98
+http://darcs.haskell.org/packages/monads
+http://darcs.haskell.org/packages/mtl
+http://darcs.haskell.org/packages/network
+http://darcs.haskell.org/packages/parsec
+http://darcs.haskell.org/packages/readline
+http://darcs.haskell.org/packages/stm
+http://darcs.haskell.org/packages/template-haskell
+http://darcs.haskell.org/packages/unix