X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=darcs-all;h=0dd9145063fafa6d953ac454e2591ac96ee646fd;hp=222c51212978681dca2c13048b34a1aedb46f671;hb=a0c6f738f883c860f5aa91b337d2232fa780adf4;hpb=a52c9ee87491e0dfd2f8f816c40c80ea2712c6c3 diff --git a/darcs-all b/darcs-all index 222c512..0dd9145 100644 --- a/darcs-all +++ b/darcs-all @@ -7,24 +7,33 @@ top_dirs="nofib testsuite" default_repo_root="http://darcs.haskell.org/" default_lib_repo_root=$default_repo_root/packages +quiet=NO + +function message() +{ + if [ "$quiet" = "NO" ]; then + echo $* + fi +} + function darcsall() { - echo == running darcs $* at the top level + message "== running darcs $* at the top level" darcs $* for dir in $top_dirs; do if test -d $dir -a -d $dir/_darcs; then - echo "== running darcs $* in $dir" + message "== running darcs $* in $dir" darcs $* --repodir $dir else - echo "== $dir not present or not a repository; skipping" + message "== $dir not present or not a repository; skipping" fi done for pkg in `cat libraries/default-packages`; do if test -d libraries/$pkg; then - echo "== running darcs $* in libraries/$pkg" + message "== running darcs $* in libraries/$pkg" darcs $* --repodir libraries/$pkg else - echo "warning: $dir doesn't seem to exist, use 'darcs-all get' to get it" + echo "warning: $pkg doesn't seem to exist, use 'darcs-all get' to get it" fi done } @@ -48,18 +57,24 @@ function darcsget() echo "warning: $pkg already present; omitting" else repo=$lib_repos/$pkg - echo "== running darcs get --partial $* $repo" + message "== running darcs get --partial $* $repo" darcs get --partial $* $repo fi done } -if test ! -d _darcs -o ! -d ghc; then +if test ! -d _darcs -o ! -d compiler; then echo "error: darcs-all must be run from the top level of the ghc tree." exit 1; fi +case $* in + *-q*) quiet=YES;; +esac + case $1 in get) shift; darcsget $*;; + # Hack around whatsnew failing if there are no changes + w|wh|wha|what|whats|whatsn|whatsne|whatsnew) set +e; darcsall $*;; *) darcsall $*;; esac