lxr-0.9.3, perl 5.8.2, running against a CVS tree.
The CVS code restricts the search path for "co"; in my
installation, it wasn't located in that path. The
check for success running "co" looks at $fileh, but
open() sets $fileh regardless of success. Instead,
check the return value from open() to determine whether
"co" was run successfully, e.g.
$rtn = open($fileh, "-|", "co -q -p$rev $clean_filename");
die ("...") unless $rtn;
(CVS.pm ca. line 170)
The open was failing silently, so the results from
genxref were all empty files.