head 1.2; access; symbols ISELECT_1_0_0:1.1.1.1 vendor:1.1.1; locks; strict; comment @# @; 1.2 date 2000.07.25.11.37.13; author rse; state dead; branches; next 1.1; 1.1 date 97.09.16.15.58.11; author rse; state Exp; branches 1.1.1.1; next ; 1.1.1.1 date 97.09.16.15.58.11; author rse; state Exp; branches; next ; desc @@ 1.2 log @Merge conflicts @ text @#!/sw/bin/perl ## ## scvs -- Switch CVS Repository ## Copyright (c) 1997 Ralf S. Engelschall, All Rights Reserved. ## %CVSROOTS = ( 'FreeBSD remote' => 'freefall.freebsd.org:/home/ncvs', 'FreeBSD local' => '/e/freebsd/REPOS', 'Apache remote' => 'dev.apache.org:/export/home/cvs', 'Apache local' => '/e/apache/REPOS', ); if (not -d "./CVS") { print STDERR "Sorry, you must stay inside a checked-out CVS tree\n"; exit(1); } open(FP, "; $locC =~ s|\n$||; close(FP); $pos = 0; $list = ''; $n = 1; foreach $name (keys(%CVSROOTS)) { $loc = $CVSROOTS{$name}; if ($loc eq $locC) { $pos = $n; $act = "*"; } else { $act = ""; } $list .= ' "'.sprintf("%1s %-20s %s%%%%S:%s%%%%", $act, $name, $loc, $loc).'"'; $n++; } if ($pos == 0) { $list .= ' "'.sprintf("%1s %-20s %s%%%%S:%s%%%%", "*", "UNKNOWN", $locC, $locC).'"'; $pos = $n+1; } $pos += 3; $rc = `iselect -t "Switch CVS Repository" -l -p$pos " " "Known Repositories:" " " $list " " "Use CURSOR keys and RETURN to select or 'q' to quit."`; $rc =~ m|^(\d+):(.*)|; ($pos, $locN) = ($1, $2); if ($locN eq '') { print STDERR "Aborted\n"; } elsif ($locN eq $locC) { print STDERR "CVS Repository unchanged\n"; } else { $prefixN = $locN; $prefixN =~ s|^[^/]+||; print STDERR "Switching CVS Repository to $locN\n"; foreach $dir (split(/\n/, `find . -name CVS -type d -depth -print`)) { $dir =~ s|^\./||; print STDERR "[$dir]\n"; open(FP, "<$dir/Root"); $locO = ; $locO =~ s|\n$||; close(FP); open(FP, ">$dir/Root"); print FP "$locN\n"; close(FP); $prefixO = $locO; $prefixO =~ s|^[^/]+||; open(FP, "<$dir/Repository"); $subdir = ; $subdir =~ s|\n$||; close(FP); $subdir =~ s|^$prefixO|$prefixN|; open(FP, ">$dir/Repository"); print FP "$subdir\n"; close(FP); } } ##EOF## @ 1.1 log @Initial revision @ text @@ 1.1.1.1 log @Import iSelect 1.0.0 @ text @@