[BACK]Return to cvsweb.cgi CVS log [TXT][DIR] Up to [cvsweb.bsd.lv] / cvsweb

Diff for /cvsweb/cvsweb.cgi between version 1.1.1.24 and 1.1.1.27

version 1.1.1.24, 2001/03/27 17:24:25 version 1.1.1.27, 2001/07/06 09:54:57
Line 42 
Line 42 
 # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF  # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 # SUCH DAMAGE.  # SUCH DAMAGE.
 #  #
 # $zId: cvsweb.cgi,v 1.106 2001/03/10 01:16:27 hnordstrom Exp $  # $zId: cvsweb.cgi,v 1.110 2001/06/29 09:29:36 hnordstrom Exp $
 # $Idaemons: /home/cvs/cvsweb/cvsweb.cgi,v 1.70 2001/03/27 17:20:46 knu Exp $  # $Idaemons: /home/cvs/cvsweb/cvsweb.cgi,v 1.78 2001/07/06 09:49:01 knu Exp $
 #  #
 ###  ###
   
Line 85  use vars qw (
Line 85  use vars qw (
     $tabstop $state $annTable $sel $curbranch @HideModules      $tabstop $state $annTable $sel $curbranch @HideModules
     $module $use_descriptions %descriptions @mytz $dwhere $moddate      $module $use_descriptions %descriptions @mytz $dwhere $moddate
     $use_moddate $has_zlib $gzip_open      $use_moddate $has_zlib $gzip_open
     $allow_tar @tar_options @gzip_options @cvs_options      $allow_tar @tar_options @gzip_options @zip_options @cvs_options
     $LOG_FILESEPARATOR $LOG_REVSEPARATOR      $LOG_FILESEPARATOR $LOG_REVSEPARATOR
 );  );
   
Line 139  sub forbidden_module($);
Line 139  sub forbidden_module($);
 ##### Start of Configuration Area ########  ##### Start of Configuration Area ########
 delete $ENV{PATH};  delete $ENV{PATH};
   
 $cvsweb_revision = '1.106' . '.' . (split(/ /,  $cvsweb_revision = '1.110' . '.' . (split(/ /,
  q$Idaemons: /home/cvs/cvsweb/cvsweb.cgi,v 1.70 2001/03/27 17:20:46 knu Exp $   q$Idaemons: /home/cvs/cvsweb/cvsweb.cgi,v 1.78 2001/07/06 09:49:01 knu Exp $
 ))[2];  ))[2];
   
 use File::Basename;  use File::Basename;
Line 170  $allow_version_select = 1;
Line 170  $allow_version_select = 1;
 # These are defined to allow checking with perl -cw  # These are defined to allow checking with perl -cw
 @CVSrepositories = @CVSROOT = %CVSROOT =  @CVSrepositories = @CVSROOT = %CVSROOT =
 %MIRRORS = %DEFAULTVALUE = %ICONS = %MTYPES =  %MIRRORS = %DEFAULTVALUE = %ICONS = %MTYPES =
 %tags = %alltags = @tabcolors = ();  %tags = %alltags = @tabcolors = %fileinfo = ();
 $cvstreedefault = $body_tag = $body_tag_for_src =  $cvstreedefault = $body_tag = $body_tag_for_src =
 $logo = $defaulttitle = $address =  $logo = $defaulttitle = $address =
 $long_intro = $short_instruction = $shortLogLen =  $long_intro = $short_instruction = $shortLogLen =
Line 518  if ($input{tarball}) {
Line 518  if ($input{tarball}) {
     &fatal("403 Forbidden", "Downloading tarballs is prohibited.")      &fatal("403 Forbidden", "Downloading tarballs is prohibited.")
       unless $allow_tar;        unless $allow_tar;
     my($module) = ($where =~ m,^/?(.*),);       # untaint      my($module) = ($where =~ m,^/?(.*),);       # untaint
     $module =~ s,/[^/]*$,,;      $module =~ s,/([^/]*)$,,;
       my($ext) = ($1 =~ /(\.tar\.gz|\.zip)$/);
     my($basedir) = ($module =~ m,([^/]+)$,);      my($basedir) = ($module =~ m,([^/]+)$,);
   
     if ($basedir eq '' || $module eq '') {      if ($basedir eq '' || $module eq '') {
Line 530  if ($input{tarball}) {
Line 531  if ($input{tarball}) {
     mkdir($tmpdir, 0700)      mkdir($tmpdir, 0700)
       or &fatal("500 Internal Error", "Unable to make temporary directory: $!");        or &fatal("500 Internal Error", "Unable to make temporary directory: $!");
   
     my $fatal = '';      my @fatal;
   
     while (1) {      my $tag = (exists $input{only_with_tag} && length $input{only_with_tag})
         my $tag = (exists $input{only_with_tag} && length $input{only_with_tag})        ? $input{only_with_tag} : "HEAD";
           ? $input{only_with_tag} : "HEAD";  
   
         system $CMD{cvs}, @cvs_options, '-Qd', $cvsroot, 'export', '-r', $tag, '-d', "$tmpdir/$basedir", $module      if (system $CMD{cvs}, @cvs_options, '-Qd', $cvsroot, 'export', '-r', $tag, '-d', "$tmpdir/$basedir", $module) {
           and $fatal = "500 Internal Error","cvs co failure: $!: $module"          @fatal = ("500 Internal Error", "cvs co failure: $!: $module");
             && last;      } else {
   
         $| = 1; # Essential to get the buffering right.          $| = 1; # Essential to get the buffering right.
   
         print "Content-type: application/x-gzip\r\n\r\n";          if ($ext eq '.tar.gz') {
               print "Content-type: application/x-gzip\r\n\r\n";
   
         system "$CMD{tar} @tar_options -cf - -C $tmpdir $basedir | $CMD{gzip} @gzip_options -c"              system "$CMD{tar} @tar_options -cf - -C $tmpdir $basedir | $CMD{gzip} @gzip_options -c"
           and $fatal = "500 Internal Error","tar zc failure: $!: $basedir"                and @fatal = ("500 Internal Error", "tar zc failure: $!: $basedir");
             && last;          } elsif ($ext eq '.zip' && $CMD{zip}) {
               print "Content-type: application/zip\r\n\r\n";
   
         last;              system "cd $tmpdir && $CMD{zip} @zip_options -r - $basedir"
                 and @fatal = ("500 Internal Error", "zip failure: $!: $basedir");
           } else {
               @fatal = ("500 Internal Error", "unsupported file type");
           }
     }      }
   
     system $CMD{rm}, '-rf', $tmpdir if -d $tmpdir;      system $CMD{rm}, '-rf', $tmpdir if -d $tmpdir;
   
     &fatal($fatal) if $fatal;      &fatal(@fatal) if @fatal;
   
     exit;      exit;
 }  }
Line 748  if (-d $fullname) {
Line 753  if (-d $fullname) {
                     else {                      else {
                         print &link($backicon, $url);                          print &link($backicon, $url);
                     }                      }
                     print " ", &link("Previous Directory", $url);                      print " ", &link("Parent Directory", $url);
                 }                  }
                 else {                  else {
                     $url = './' . urlencode($_) . "/$query";                      $url = './' . urlencode($_) . "/$query";
Line 908  if (-d $fullname) {
Line 913  if (-d $fullname) {
   
             if (defined($basefile) && $basefile ne '') {              if (defined($basefile) && $basefile ne '') {
                 print "<HR NOSHADE>\n",                  print "<HR NOSHADE>\n",
                   "<DIV align=center>",                    "<DIV align=center>Download this directory in ";
                     &link("Download this directory in tarball",                  # Mangle the filename so browsers show a reasonable
                           # Mangle the filename so browsers show a reasonable                  # filename to download.
                           # filename to download.                  print &link("tarball",
                           "./$basefile.tar.gz$query".                              "./$basefile.tar.gz$query".
                           ($query ? "&" : "?")."tarball=1"),                              ($query ? "&" : "?")."tarball=1");
                             "</DIV>";                  if ($CMD{zip}) {
                       print " or ",
                         &link("zip archive",
                               "./$basefile.zip$query".
                               ($query ? "&" : "?")."tarball=1");
                   }
                   print "</DIV>";
             }              }
         }          }
   
Line 1106  sub findLastModifiedSubdirs(@) {
Line 1117  sub findLastModifiedSubdirs(@) {
   
 sub htmlify_sub(&$) {  sub htmlify_sub(&$) {
     (my $proc, local $_) = @_;      (my $proc, local $_) = @_;
     local @_ = split(m`(<a [^>]+>[^<]*</a>)`i);      my @a = split(m`(<a [^>]+>[^<]*</a>)`i);
     my $linked;      my $linked;
     my $result = '';      my $result = '';
   
     while (($_, $linked) = splice(@_, 0, 2)) {      while (($_, $linked) = splice(@a, 0, 2)) {
         &$proc();          &$proc();
         $result .= $_ if defined($_);          $result .= $_ if defined($_);
         $result .= $linked if defined($linked);          $result .= $linked if defined($linked);
Line 1319  sub search_path($) {
Line 1330  sub search_path($) {
         return "$d/$command" if -x "$d/$command";          return "$d/$command" if -x "$d/$command";
     }      }
   
     $command;      '';
 }  }
   
 sub getMimeTypeFromSuffix($) {  sub getMimeTypeFromSuffix($) {
Line 1622  sub doCheckout($$) {
Line 1633  sub doCheckout($$) {
   
     # Parse CVS header      # Parse CVS header
     my ($revision, $filename, $cvsheader);      my ($revision, $filename, $cvsheader);
       $filename = "";
     while(<$fh>) {      while(<$fh>) {
         last if (/^\*\*\*\*/);          last if (/^\*\*\*\*/);
         $revision = $1 if (/^VERS: (.*)$/);          $revision = $1 if (/^VERS: (.*)$/);
Line 1776  sub doDiff($$$$$$) {
Line 1788  sub doDiff($$$$$$) {
   
             while (($re1, $re2) = each %funcline_regexp) {              while (($re1, $re2) = each %funcline_regexp) {
                 if ($fullname =~ /$re1/) {                  if ($fullname =~ /$re1/) {
                     push @difftype, '-F', '$re2';                      push @difftype, '-F', $re2;
                     last;                      last;
                 }                  }
             }              }
Line 2668  sub human_readable_diff($){
Line 2680  sub human_readable_diff($){
   
       if ($difftxt =~ /^@@/) {        if ($difftxt =~ /^@@/) {
           ($oldline,$newline,$funname) = $difftxt =~ /@@ \-([0-9]+).*\+([0-9]+).*@@(.*)/;            ($oldline,$newline,$funname) = $difftxt =~ /@@ \-([0-9]+).*\+([0-9]+).*@@(.*)/;
             $funname = htmlquote($funname);
           print  "<tr bgcolor=\"$diffcolorHeading\"><td width=\"50%\">";            print  "<tr bgcolor=\"$diffcolorHeading\"><td width=\"50%\">";
           print  "<table width=\"100%\" border=1 cellpadding=5><tr><td><b>Line $oldline</b>";            print  "<table width=\"100%\" border=1 cellpadding=5><tr><td><b>Line $oldline</b>";
           print  "&nbsp;<font size=-1>$funname</font></td></tr></table>";            print  "&nbsp;<font size=-1>$funname</font></td></tr></table>";
Line 2762  sub human_readable_diff($){
Line 2775  sub human_readable_diff($){
 sub navigateHeader($$$$$) {  sub navigateHeader($$$$$) {
     my ($swhere,$path,$filename,$rev,$title) = @_;      my ($swhere,$path,$filename,$rev,$title) = @_;
     $swhere = "" if ($swhere eq $scriptwhere);      $swhere = "" if ($swhere eq $scriptwhere);
     $swhere = './', urlencode($filename) if ($swhere eq "");      $swhere = './' . urlencode($filename) if ($swhere eq "");
   
     print <<EOF;      print <<EOF;
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

Legend:
Removed from v.1.1.1.24  
changed lines
  Added in v.1.1.1.27

CVSweb