-my @top_dirs = ("nofib", "testsuite", "utils/hsc2hs");
-
-# Figure out where to get the other repositories from,
-# based on where this GHC repo came from.
-my $defaultrepo = `cat _darcs/prefs/defaultrepo`;
-chomp $defaultrepo;
-my $defaultrepo_base;
-my $defaultrepo_lib;
-my $hsc2hs_repo_loc;
-
-if ($defaultrepo =~ /^...*:/) {
- # HTTP or SSH
- # Above regex says "at least two chars before the :", to avoid
- # catching Win32 drives ("C:\").
- $defaultrepo_base = $defaultrepo;
- $defaultrepo_base =~ s#/[^/]+/?$##;
- $defaultrepo_lib = "$defaultrepo_base/packages";
- $hsc2hs_repo_loc = $defaultrepo_base;
-}
-elsif ($defaultrepo =~ /^(\.\.)?\//) {
- # Local filesystem, either absolute or relative path
- # (assumes a checked-out tree):
- $defaultrepo_base = $defaultrepo;
- $defaultrepo_lib = "$defaultrepo/libraries";
- $hsc2hs_repo_loc = "$defaultrepo_base/utils";
-}
-else {
- die "Couldn't work out defaultrepo";
-}
+# Usage:
+#
+# ./darcs-all [-q] [-s] [-i] [-r repo] [--nofib] [--testsuite] get [darcs get flags]
+# This gets the GHC core repos, if they do not already exist.
+# -q says to be quite, and -s to be silent.
+# -i says to ignore darcs errors and move on to the next repository
+# -r repo says to use repo as the location of package repositories
+# --nofib, --testsuite also get the nofib and testsuite repos respectively
+# The darcs get flag you are most likely to want is --complete. By
+# default we pass darcs the --partial flag.
+#
+# ./darcs-all [-q] [-s] [-i] [-r repo] cmd [darcs cmd flags]
+# This runs the darcs "cmd" command, with any flags you give, in all
+# of the repos you have checked out. e.g.
+# ./darcs-all pull
+# ./darcs-all -q send --dry-run
+# -q says to be quite, and -s to be silent.
+
+$| = 1; # autoflush stdout after each print, to avoid output after die
+
+my $defaultrepo;