5 top_dirs="nofib testsuite"
7 # Figure out where to get the other repositories from,
8 # based on where this GHC repo came from.
9 defaultrepo=`cat _darcs/prefs/defaultrepo`
13 defaultrepo_base="`echo $defaultrepo | sed 's!/ghc$!!'`"
14 defaultrepo_lib="$defaultrepo_base"/packages;;
15 # Local filesystem (assumes a checked-out tree):
17 defaultrepo_base="$defaultrepo"
18 defaultrepo_lib="$defaultrepo"/libraries;;
25 if [ "$quiet" = "NO" ]; then
32 message "== running darcs $@ at the top level"
34 for dir in $top_dirs; do
35 if test -d $dir -a -d $dir/_darcs; then
36 message "== running darcs $@ in $dir"
37 darcs "$@" --repodir $dir
39 message "== $dir not present or not a repository; skipping"
42 for pkg in `cat libraries/core-packages libraries/extra-packages`; do
43 if test -d libraries/$pkg; then
44 message "== running darcs $@ in libraries/$pkg"
45 darcs "$@" --repodir libraries/$pkg
47 echo "warning: $pkg doesn't seem to exist, use 'darcs-all get' to get it"
55 *--complete*|*--partial*)
58 echo "warning: adding --partial, to override use --complete"
59 additional_flag="--partial" ;;
62 if test "$nofib" = "YES"; then
63 if test -d nofib; then
64 echo "warning: nofib already present; omitting"
66 repo="$defaultrepo_base"/nofib
67 message "== running darcs get $additional_flag $@ $repo"
68 darcs get $additional_flag "$@" $repo
72 if test "$testsuite" = "YES"; then
73 if test -d testsuite; then
74 echo "warning: testsuite already present; omitting"
76 repo="$defaultrepo_base"/testsuite
77 message "== running darcs get $additional_flag $@ $repo"
78 darcs get $additional_flag "$@" $repo
84 if test "$extra" = "YES"; then
85 packages=`cat core-packages extra-packages`
87 packages=`cat core-packages`
90 for pkg in $packages; do
92 echo "warning: $pkg already present; omitting"
94 repo=$defaultrepo_lib/$pkg
95 message "== running darcs get $additional_flag $@ $repo"
96 darcs get $additional_flag "$@" $repo
101 if test ! -d _darcs -o ! -d compiler; then
102 echo "error: darcs-all must be run from the top level of the ghc tree."
110 # --extra says we grab the extra libs with 'get'. It has no effect on
111 # the other commands.
113 # --nofib/--testsuite tell get to also grab the respective repos.
114 # They have no effect on the other commands.
120 while [ "$args_done" = NO ]
123 --extra) shift; extra=YES;;
124 --nofib) shift; nofib=YES;;
125 --testsuite) shift; testsuite=YES;;
131 get) shift; darcsget "$@";;
132 # Hack around whatsnew failing if there are no changes
133 w|wh|wha|what|whats|whatsn|whatsne|whatsnew) set +e; darcsall "$@";;