1 |
#!/usr/bin/perl |
2 |
|
3 |
# list files under CVS control |
4 |
# $Id: lscvs,v 1.2 2002/12/13 15:42:42 kripke Exp $ |
5 |
|
6 |
sub dodir { |
7 |
my $dir = shift; |
8 |
print STDERR "$dir\n"; |
9 |
local *FH; |
10 |
open( FH, $dir.'CVS/Entries' ); |
11 |
while (<FH>) { |
12 |
# print STDERR $_; |
13 |
chomp; |
14 |
my ($type,$name,$version,$date,$opt,$tagdate) = split( /\// ); |
15 |
if ( '' eq $type ) { |
16 |
if ( $l ) { |
17 |
print join("\t",$dir.$name,$version,$date,$x),"\n"; |
18 |
} else { |
19 |
print $dir.$name,"\n"; |
20 |
} |
21 |
} elsif ( 'D' eq $type ) { |
22 |
dodir( $dir.$name.'/' ) if $r && $name; |
23 |
# "`D' on a line all by itself indicates that the program |
24 |
# which wrote the `Entries' file does record subdirectories" |
25 |
} else { |
26 |
print STDERR "uknown type '$type' in $dir ", |
27 |
join("\t",$name,$version,$date,$x),"\n"; |
28 |
} |
29 |
} |
30 |
close FH; |
31 |
} |
32 |
|
33 |
$l = $ARGV[0] =~ /l/; |
34 |
$r = $ARGV[0] =~ /r/; |
35 |
|
36 |
dodir; |