From d9718410b1612985432cffd3e5fbcac148840be7 Mon Sep 17 00:00:00 2001
From: Simon Marlow <marlowsd@gmail.com>
Date: Thu, 27 Aug 2009 14:15:54 +0000
Subject: fix 'darcs-all rec' (amongst other things)

---
 darcs-all | 25 +++++++++++--------------
 1 file changed, 11 insertions(+), 14 deletions(-)

(limited to 'darcs-all')

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 @_;
     }
 }
-- 
cgit v1.2.1