X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=darcs-all;h=9efeab13e9d5f0cbcbd554eb4096c895d897f640;hp=0dd9145063fafa6d953ac454e2591ac96ee646fd;hb=1525a5819aa3a6eae8d8b05cfe348a2384da0c84;hpb=a0c6f738f883c860f5aa91b337d2232fa780adf4 diff --git a/darcs-all b/darcs-all index 0dd9145..9efeab1 100644 --- a/darcs-all +++ b/darcs-all @@ -9,14 +9,14 @@ default_lib_repo_root=$default_repo_root/packages quiet=NO -function message() +message() { if [ "$quiet" = "NO" ]; then echo $* fi } -function darcsall() +darcsall() { message "== running darcs $* at the top level" darcs $* @@ -28,7 +28,7 @@ function darcsall() message "== $dir not present or not a repository; skipping" fi done - for pkg in `cat libraries/default-packages`; do + for pkg in `cat libraries/core-packages libraries/extra-packages`; do if test -d libraries/$pkg; then message "== running darcs $* in libraries/$pkg" darcs $* --repodir libraries/$pkg @@ -38,7 +38,7 @@ function darcsall() done } -function darcsget() +darcsget() { case $* in *--partial*) ;; @@ -52,7 +52,14 @@ function darcsget() esac cd libraries - for pkg in `cat default-packages`; do + + if test "$extra" = "YES"; then + packages=`cat core-packages extra-packages` + else + packages=`cat core-packages` + fi + + for pkg in $packages; do if test -d $pkg; then echo "warning: $pkg already present; omitting" else @@ -72,6 +79,13 @@ case $* in *-q*) quiet=YES;; 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 + case $1 in get) shift; darcsget $*;; # Hack around whatsnew failing if there are no changes