X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=darcs-all;h=046e589f5d9e54b5861735ff9bc5e81848ff78d3;hp=24ed6f482a3a872c0aaf5f1f024f066ea335cc83;hb=85cc239b47833892df0e70ce7c03f203f2ba4e6c;hpb=e05f9de137269701df667b69d741dfae616694f7 diff --git a/darcs-all b/darcs-all index 24ed6f4..046e589 100644 --- a/darcs-all +++ b/darcs-all @@ -62,6 +62,7 @@ sub darcs { } sub darcsall { + my @packages; darcs @_; for my $dir (@top_dirs) { if (-d $dir && -d "$dir/_darcs") { @@ -71,12 +72,25 @@ sub darcsall { message "== $dir not present or not a repository; skipping"; } } - for my $pkg (`cat libraries/boot-packages libraries/extra-packages`) { - chomp $pkg; - if (-d "libraries/$pkg") { - darcs (@_, "--repodir", "libraries/$pkg"); + for my $path () { + chomp $path; + if ($path =~ m#/(.*)/#) { + my $pkg = $1; + # bootstrapping.* are just copies of other repos; we don't + # update them directly. + if ($pkg !~ /bootstrapping/) { + darcs (@_, "--repodir", "libraries/$pkg"); + } } else { + die "that pattern can't fail!"; + } + } + @packages = `cat libraries/boot-packages`; + # @packages = `cat libraries/boot-packages libraries/extra-packages`; + for my $pkg (@packages) { + chomp $pkg; + if (! -d "libraries/$pkg") { warning("$pkg doesn't exist, use 'darcs-all get' to get it"); } }