summaryrefslogtreecommitdiff
path: root/darcs-all
diff options
context:
space:
mode:
authorIan Lynagh <igloo@earth.li>2008-05-02 17:47:53 +0000
committerIan Lynagh <igloo@earth.li>2008-05-02 17:47:53 +0000
commitad5299d90d21898470f1d9dd5742d40fa1a8ebc0 (patch)
treeef00f66abc0c466282b1fb895a872a5b0335d4bb /darcs-all
parent9cfd3b98791a2c680f043228aa79a33656566c66 (diff)
downloadhaskell-ad5299d90d21898470f1d9dd5742d40fa1a8ebc0.tar.gz
Make darcs-all act on all repos in libraries/, not just boot/extra libs
Diffstat (limited to 'darcs-all')
-rw-r--r--darcs-all22
1 files changed, 18 insertions, 4 deletions
diff --git a/darcs-all b/darcs-all
index 24ed6f482a..046e589f5d 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 (<libraries/*/_darcs>) {
+ 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");
}
}