my $defaultrepo_base;
my $defaultrepo_lib;
-if ($defaultrepo =~ /:/) {
+if ($defaultrepo =~ /^...*:/) {
# HTTP or SSH
+ # Above regex says "at least two chars before the :", to avoid
+ # catching Win32 drives ("C:\").
$defaultrepo_base = $defaultrepo;
$defaultrepo_base =~ s#/[^/]+/?$##;
$defaultrepo_lib = "$defaultrepo_base/packages";
}
-elsif ($defaultrepo =~ /^\//) {
- # 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):
+elsif ($defaultrepo =~ /^(\.\.)?\//) {
+ # Local filesystem, either absolute or relative path
+ # (assumes a checked-out tree):
$defaultrepo_base = $defaultrepo;
$defaultrepo_lib = "$defaultrepo/libraries";
}
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");
- }
+ darcs (@_, "--repodir", "libraries/$pkg");
}
else {
die "that pattern can't fail!";