X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=darcs-all;h=f1934dcdb20aae2739bafd591033a32f63336835;hp=70cf16506ebfc88486b4f34ff6ab2b37bd191608;hb=5822cb8d13aa3c05d2b46b4510c13d94b902eb21;hpb=56bf673097811e7fa362ae3741f6ff4ea872475b diff --git a/darcs-all b/darcs-all index 70cf165..f1934dc 100644 --- a/darcs-all +++ b/darcs-all @@ -11,14 +11,20 @@ chomp $defaultrepo; my $defaultrepo_base; my $defaultrepo_lib; -if ($defaultrepo =~ /:/) { +if ($defaultrepo =~ /:\/\//) { # HTTP or SSH $defaultrepo_base = $defaultrepo; - $defaultrepo_base =~ s#/ghc$##; + $defaultrepo_base =~ s#/[^/]+/?$##; $defaultrepo_lib = "$defaultrepo_base/packages"; } -elsif ($defaultrepo =~ /^\//) { - # Local filesystem (assumes a checked-out tree): +elsif (($defaultrepo =~ /^\//) or # unix + ($defaultrepo =~ /^.:/)) { # windows, e.g. c: + # Local filesystem, absolute path (assumes a checked-out tree): + $defaultrepo_base = $defaultrepo; + $defaultrepo_lib = "$defaultrepo/libraries"; +} +elsif ($defaultrepo =~ /^..\//) { + # Local filesystem, relative path (assumes a checked-out tree): $defaultrepo_base = $defaultrepo; $defaultrepo_lib = "$defaultrepo/libraries"; } @@ -124,6 +130,8 @@ sub main { while ($#_ ne -1) { my $arg = shift; + # We handle -q here as well as lower down as we need to skip over it + # if it comes before the darcs command if ($arg eq "-q") { $verbose = 0; } @@ -138,6 +146,9 @@ sub main { } else { unshift @_, $arg; + if (grep /^-q$/, @_) { + $verbose = 0; + } last; } }