summaryrefslogtreecommitdiff
path: root/darcs-all
diff options
context:
space:
mode:
authorSimon Marlow <marlowsd@gmail.com>2009-08-27 14:15:54 +0000
committerSimon Marlow <marlowsd@gmail.com>2009-08-27 14:15:54 +0000
commitd9718410b1612985432cffd3e5fbcac148840be7 (patch)
tree3c88c01062dbe6aa16b1d7c85fd9fec3abaf91f5 /darcs-all
parent87787d75998c8864109b76c34d55e36e55c26e74 (diff)
downloadhaskell-d9718410b1612985432cffd3e5fbcac148840be7.tar.gz
fix 'darcs-all rec' (amongst other things)
Diffstat (limited to 'darcs-all')
-rw-r--r--darcs-all25
1 files changed, 11 insertions, 14 deletions
diff --git a/darcs-all b/darcs-all
index 30b98a0720..1a0e639a47 100644
--- a/darcs-all
+++ b/darcs-all
@@ -26,6 +26,7 @@ my $defaultrepo;
my $verbose = 2;
my $ignore_failure = 0;
+my $want_remote_repo = 0;
my %tags;
@@ -114,17 +115,15 @@ sub darcsall {
$path = "$repo_base/$localpath";
}
else {
- if ($remotepath =~ /^http:/) {
- message "Ignoring $localpath; remote is http URL";
- next REPO;
- }
- else {
- $path = "$repo_base/$remotepath";
- }
+ $path = "$repo_base/$remotepath";
}
if (-d "$localpath/_darcs") {
- darcs (@_, "--repodir", $localpath, $path);
+ if ($want_remote_repo) {
+ darcs (@_, "--repodir", $localpath, $path);
+ } else {
+ darcs (@_, "--repodir", $localpath);
+ }
}
elsif ($tag eq "") {
message "== Required repo $localpath is missing! Skipping";
@@ -172,12 +171,7 @@ sub darcsget {
$path = "$repo_base/$localpath";
}
else {
- if ($remotepath =~ /^http:/) {
- $path = $remotepath;
- }
- else {
- $path = "$repo_base/$remotepath";
- }
+ $path = "$repo_base/$remotepath";
}
if (($tag eq "") || defined($tags{$tag})) {
@@ -247,6 +241,9 @@ sub main {
# Hack around whatsnew failing if there are no changes
$ignore_failure = 1;
}
+ if ($command =~ /^(pul|pus|sen|put)/) {
+ $want_remote_repo = 1;
+ }
darcsall @_;
}
}