diff options
author | rideout <rideout@17b73243-c579-4c4c-a9d2-2d5706c11dac> | 2003-02-04 12:04:45 +0000 |
---|---|---|
committer | rideout <rideout@17b73243-c579-4c4c-a9d2-2d5706c11dac> | 2003-02-04 12:04:45 +0000 |
commit | b96396968714cdb22f5e53e47c1063c2c20b8332 (patch) | |
tree | 22d6f7c4a58397541c588d8ad76b6df7f692a053 | |
parent | 478215d3efa373321b43800b6ad4b434824dd792 (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.pl | 27 |
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 |