diff options
author | Ian Lynagh <igloo@earth.li> | 2008-05-02 17:47:53 +0000 |
---|---|---|
committer | Ian Lynagh <igloo@earth.li> | 2008-05-02 17:47:53 +0000 |
commit | ad5299d90d21898470f1d9dd5742d40fa1a8ebc0 (patch) | |
tree | ef00f66abc0c466282b1fb895a872a5b0335d4bb /darcs-all | |
parent | 9cfd3b98791a2c680f043228aa79a33656566c66 (diff) | |
download | haskell-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-all | 22 |
1 files changed, 18 insertions, 4 deletions
@@ -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"); } } |