CVS-Metrics

 view release on metacpan or  search on metacpan

bin/cgi_cvs_evolq  view on Meta::CPAN

        use_cache   => 1,
);
if ($cvs_log) {
    our @tags;
    my $timed = $cvs_log->getTimedTag($regex_ignore_tag);
    my %matched;
    while (my ($tag, $date) = each %{$timed}) {
        if ($tag =~ /$regex_tag/) {
            $matched{$date.$tag} = $tag;
        }
    }
    foreach (sort keys %matched) {
        push @tags, $matched{$_};
    }

    my $tag_from = $tags[-1];
    push @tags, 'HEAD';
    $cvs_log->insertHead();

    GenerateHTML($title, \@tags, \@dirs);
}

sub FindCvs {
    my $cvs;
    if ($^O eq 'MSWin32') {
        eval 'use File::Which';
        $cvs = which('cvs');
        unless (defined $cvs) {
            eval 'use Win32::TieRegistry(Delimiter => "/")';
            my $cvs_setting;
            my $hkey = 'HKEY_CURRENT_USER/Software/WinCvs/wincvs/CVS settings';
            eval '$cvs_setting = $Registry->{$hkey}';
            $cvs = $cvs_setting->{'/P_WhichCvs'};
            if (defined $cvs) {
                $cvs =~ s/[\000\001]//g;
                $cvs =~ s/wincvs\.exe\@$//;
                if ( -e "${cvs}CVSNT\\\\cvs.exe") {
                    $cvs .= "CVSNT\\\\cvs.exe";
                }
                else {
                    $cvs .= 'cvs.exe';
                }
            }
        }
        die "cvs not found !\n" unless (defined $cvs);
        warn "Using CVS : $cvs\n";
        return q{"} . $cvs . q{"};
    }
    else {
        return 'cvs';
    }
}

#######################################################################

sub GenerateHTML {
    my ($title, $r_tags, $r_dirs) = @_;

my $html = q{
<?xml version='1.0' encoding='ISO-8859-1'?>
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
<html xmlns='http://www.w3.org/1999/xhtml'>
  <head>
    <meta http-equiv='Content-Type' content='text/html; charset=ISO-8859-1' />
    <meta name='generator' content='<TMPL_VAR NAME=generator>' />
    <meta name='date' content='<TMPL_VAR NAME=date>' />
    <meta name='robots' content='nofollow' />
    <title>cvs_evol <!-- TMPL_VAR NAME=title --></title>
    <style type='text/css'>
      <!-- TMPL_VAR NAME=style -->
    </style>
  </head>
  <body>
  <h1><!-- TMPL_VAR NAME=title --></h1>
  <hr />
  <h2>Evolution Report Query</h2>
  <blockquote>
    <!-- TMPL_IF NAME=valid -->
    <form action='cgi_cvs_evolr.pl' method='get'>
      <input type='hidden' name='extract' value='<TMPL_VAR NAME=extract>'/>
      <input type='hidden' name='repository' value='<TMPL_VAR NAME=repository>'/>
      <input type='hidden' name='module' value='<TMPL_VAR NAME=module>'/>
      <input type='hidden' name='viewcvs' value='<TMPL_VAR NAME=viewcvs>'/>
      <table>
        <tr>
          <td>path :</td>
          <td>
            <select name='path'><!-- TMPL_LOOP NAME=dirs -->
              <option <!-- TMPL_IF NAME=__FIRST__ -->selected='selected'<!-- /TMPL_IF -->>
                <!-- TMPL_VAR NAME=value --></option><!-- /TMPL_LOOP -->
            </select>
          </td>
        </tr>
        <tr>
          <td>from tag :</td>
          <td>
            <select name='from_tag'><!-- TMPL_LOOP NAME=from_tags -->
              <option <!-- TMPL_IF NAME=__LAST__ -->selected='selected'<!-- /TMPL_IF -->>
                <!-- TMPL_VAR NAME=value --></option><!-- /TMPL_LOOP -->
            </select>
          </td>
        </tr>
        <tr>
          <td>to tag :</td>
          <td>
            <select name='to_tag'><!-- TMPL_LOOP NAME=to_tags -->
              <option <!-- TMPL_IF NAME=__LAST__ -->selected='selected'<!-- /TMPL_IF -->>
                <!-- TMPL_VAR NAME=value --></option><!-- /TMPL_LOOP -->
            </select>
          </td>
        </tr>
        <tr>
          <td><input type='submit'/></td>
        </tr>
        <tr>
          <td align='right'>
            <input type='checkbox' name='force' value='1'/>
          </td>
          <td>Force generation (don't use nightly extract)</td>
        </tr>
      </table>



( run in 1.008 second using v1.01-cache-2.11-cpan-39bf76dae61 )