[Lxr-commits] CVS: lxr/lib/LXR/Files CVS.pm,1.20,1.21
Brought to you by:
ajlittoz
From: Dave B. <bro...@us...> - 2004-06-30 19:49:59
|
Update of /cvsroot/lxr/lxr/lib/LXR/Files In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6522/lib/LXR/Files Modified Files: CVS.pm Log Message: for CVS files, by default don't show files that are dead (on the currently selected release), but do have the option to see them Index: CVS.pm =================================================================== RCS file: /cvsroot/lxr/lxr/lib/LXR/Files/CVS.pm,v retrieving revision 1.20 retrieving revision 1.21 diff -u -d -r1.20 -r1.21 --- CVS.pm 29 Jun 2004 20:58:06 -0000 1.20 +++ CVS.pm 30 Jun 2004 19:49:39 -0000 1.21 @@ -156,6 +156,8 @@ my $rev = $self->filerev($filename, $release); return undef unless defined($rev); + return undef unless defined($self->toreal($filename, $release)); + open($fileh, "-|", "co -q -p$rev ". $self->cleanstring($self->toreal($filename, $release))); @@ -251,6 +253,14 @@ } } elsif ($node =~ /(.*),v$/) { + if (!$$LXR::Common::HTTP{'param'}{'showattic'}) { + # you can't just check for 'Attic' because for certain versions the file is alive even if in Attic + $self->parsecvs($pathname.substr($node,0, length($node)-2)); # substr is to remove the ',v' + my $rev = $cvs{'header'}{'symbols'}{$release}; + if ($cvs{'branch'}{$release}{'state'} eq "dead" or $cvs{'branch'}{$rev}{'state'} eq "dead") { + next; + } + } push(@files, $1) if ! defined($release) || $self->getfiletime($pathname.$1, $release); @@ -271,6 +281,16 @@ } return $real if -d $real; + + if (!$$LXR::Common::HTTP{'param'}{'showattic'}) { + # you can't just check for 'Attic' because for certain versions the file is alive even if in Attic + $self->parsecvs($pathname); + my $rev = $cvs{'header'}{'symbols'}{$release}; + if ($cvs{'branch'}{$release}{'state'} eq "dead" or $cvs{'branch'}{$rev}{'state'} eq "dead") { + return undef; + } + } + return $real.',v' if -f $real.',v'; $real =~ s|(/[^/]+/?)$|/Attic$1|; @@ -380,7 +400,7 @@ $cvs{'header'}{'symbols'}{'head'} = $cvs{'header'}{'head'}; - while (@cvs && $cvs[0] !~ /\s*desc/s) { + while (@cvs && $cvs[0] !~ /\s*desc/s) { my ($r, $v) = shift(@cvs) =~ /\s*(\S+)\s*(.*)/s; $cvs{'branch'}{$r} = { map { s/@@/@/gs; /^@/s && substr($_, 1, -1) || $_ } |