From: Ian Lynagh Date: Wed, 7 Feb 2007 16:53:44 +0000 (+0000) Subject: Teach darcs-all how to get testsuite and nofib X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=commitdiff_plain;h=9fd4d1e84e5a305e227db2ec78a46d1762907493 Teach darcs-all how to get testsuite and nofib --- diff --git a/darcs-all b/darcs-all index 69e0ff9..8b2a68a 100644 --- a/darcs-all +++ b/darcs-all @@ -9,9 +9,11 @@ top_dirs="nofib testsuite" defaultrepo=`cat _darcs/prefs/defaultrepo` case $defaultrepo in http://* | *@*:*) - defaultrepo_lib=`echo $defaultrepo | sed 's!/ghc$!!'`/packages;; + defaultrepo_base="`echo $defaultrepo | sed 's!/ghc$!!'`" + defaultrepo_lib="$defaultrepo_base"/packages;; /*) - defaultrepo_lib=$defaultrepo/libraries;; + defaultrepo_base="$defaultrepo" + defaultrepo_lib="$defaultrepo"/libraries;; esac quiet=NO @@ -55,6 +57,26 @@ darcsget() additional_flag="--partial" ;; esac + if test "$nofib" = "YES"; then + if test -d nofib; then + echo "warning: nofib already present; omitting" + else + repo="$defaultrepo_base"/nofib + message "== running darcs get $additional_flag $* $repo" + darcs get $additional_flag $* $repo + fi + fi + + if test "$testsuite" = "YES"; then + if test -d testsuite; then + echo "warning: testsuite already present; omitting" + else + repo="$defaultrepo_base"/testsuite + message "== running darcs get $additional_flag $* $repo" + darcs get $additional_flag $* $repo + fi + fi + cd libraries if test "$extra" = "YES"; then @@ -85,10 +107,23 @@ esac # --extra says we grab the extra libs with 'get'. It has no effect on # the other commands. -extra=NO; -case $1 in - --extra) shift; extra=YES; -esac +extra=NO +# --nofib/--testsuite tell get to also grab the respective repos. +# They have no effect on the other commands. +nofib=NO +testsuite=NO + +args_done=NO + +while [ "$args_done" == NO ] +do + case $1 in + --extra) shift; extra=YES;; + --nofib) shift; nofib=YES;; + --testsuite) shift; testsuite=YES;; + *) args_done=YES;; + esac +done case $1 in get) shift; darcsget $*;;