summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrideout <rideout@17b73243-c579-4c4c-a9d2-2d5706c11dac>2003-02-04 12:04:45 +0000
committerrideout <rideout@17b73243-c579-4c4c-a9d2-2d5706c11dac>2003-02-04 12:04:45 +0000
commitb96396968714cdb22f5e53e47c1063c2c20b8332 (patch)
tree22d6f7c4a58397541c588d8ad76b6df7f692a053
parent478215d3efa373321b43800b6ad4b434824dd792 (diff)
Some fixes for 'gmake checkout':
* cvs now creates .cvspass entries that begin with '/1 '. Now this is parsed properly. * The port specification in .cvspass entries is ignored, which prevents spurious 'no login for xyz repository' errors. * An arrangement-wide README is only checked out for arrangements which begin with the name 'Cactus'. This prevents a misleading error message from cvs when checking out 'non-Cactus' arrangements. 'gmake checkout' still has trouble with the '!REPOSITORY_MODULE' option. git-svn-id: http://svn.cactuscode.org/flesh/trunk@3122 17b73243-c579-4c4c-a9d2-2d5706c11dac
-rw-r--r--lib/sbin/CheckoutUtils.pl27
1 files changed, 19 insertions, 8 deletions
diff --git a/lib/sbin/CheckoutUtils.pl b/lib/sbin/CheckoutUtils.pl
index 53fca963..8907c655 100644
--- a/lib/sbin/CheckoutUtils.pl
+++ b/lib/sbin/CheckoutUtils.pl
@@ -113,8 +113,9 @@ sub ParseCVSPasswordFile
$numinpass = 0;
while (<CVSPASS>)
{
- /^([^\s]*)\s[^\s]*/;
- $rep[$numinpass] = $1;
+ /^(\/\S*\s+)?(\S+)\s\S+/;
+# print "Found '$1' and '$2' in .cvspass, storing in array at position $numinpass\n";
+ $rep[$numinpass] = $2;
$numinpass++;
}
}
@@ -124,7 +125,6 @@ sub ParseCVSPasswordFile
}
return @rep;
-
}
@@ -312,6 +312,13 @@ sub GetThorns
if ($thorns{"$th"} =~ /pserver/)
{
@rep = &ParseCVSPasswordFile;
+ foreach (@rep)
+ {
+ # Strip optional port specification from entries in .cvspass
+ # assume that user names never have a '/'
+ s|:(\d+)?/|:/|;
+ }
+
$rep = join(" ",@rep);
if ($rep !~ $thorns{"$th"})
{
@@ -388,10 +395,15 @@ sub GetThorns
# Check that the repository exists
DIE("Repository $thorns{\"$th\"} not found \n Are you connected to the network?\n Is the repository name spelt right in your thornlist file?") if (!&RepositoryExists($thorns{"$th"}));
- open(CVSCO,$command_co_arr);
- while (<CVSCO>)
+ # Only look for an arrangement-wide README in arrangements whose names
+ # start with 'Cactus'
+ if ($command_co_arr =~ /Cactus\w+/)
{
- print $_;
+ open(CVSCO,$command_co_arr);
+ while (<CVSCO>)
+ {
+ print $_;
+ }
}
open(CVSCO,$command_co);
while (<CVSCO>)
@@ -409,7 +421,7 @@ sub GetThorns
}
#/*@@
-# @routine
+# @routine CVSOptions
# @date Sat Mar 11 15:31:55 CET 2000
# @author Gabrielle Allen
# @desc
@@ -458,7 +470,6 @@ sub CVSOptions
} while ($answer =~ /^h/i);
return $cvs_options;
-
}
sub VerboseCheckoutHelp