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

Diff for /cvsweb/cvsweb.cgi between version 4.25 and 4.27

version 4.25, 2019/11/26 11:53:01 version 4.27, 2019/11/26 12:09:02
Line 57  use vars qw (
Line 57  use vars qw (
   $VERSION $CheckoutMagic $MimeTypes $DEBUG    $VERSION $CheckoutMagic $MimeTypes $DEBUG
   $config $allow_version_select    $config $allow_version_select
   @CVSrepositories @CVSROOT %CVSROOT %CVSROOTdescr    @CVSrepositories @CVSROOT %CVSROOT %CVSROOTdescr
   %MIRRORS %DEFAULTVALUE %ICONS %MTYPES    %DEFAULTVALUE %ICONS %MTYPES
   %DIFF_COMMANDS @DIFFTYPES %DIFFTYPES @LOGSORTKEYS %LOGSORTKEYS    %DIFF_COMMANDS @DIFFTYPES %DIFFTYPES @LOGSORTKEYS %LOGSORTKEYS
   %alltags %fileinfo %tags @branchnames %nameprinted    %alltags %fileinfo %tags @branchnames %nameprinted
   %symrev %revsym @allrevisions %date %author @revdisplayorder    %symrev %revsym @allrevisions %date %author @revdisplayorder
Line 69  use vars qw (
Line 69  use vars qw (
   $bylog $byfile $defaultDiffType $logsort $cvstree $cvsroot    $bylog $byfile $defaultDiffType $logsort $cvstree $cvsroot
   $charset $output_filter    $charset $output_filter
   @command_path %CMD $allow_compress $backicon $diricon $fileicon    @command_path %CMD $allow_compress $backicon $diricon $fileicon
   $fullname $cvstreedefault $logo $defaulttitle $address $binfileicon    $fullname $logo $defaulttitle $address $binfileicon
   $long_intro $short_instruction $shortLogLen $show_author    $long_intro $short_instruction $shortLogLen $show_author
   $tablepadding $hr_breakable $showfunc $hr_ignwhite $hr_ignkeysubst    $tablepadding $hr_breakable $showfunc $hr_ignwhite $hr_ignkeysubst
   $inputTextSize $mime_types $allow_annotate $allow_markup $allow_mailtos    $inputTextSize $mime_types $allow_annotate $allow_markup $allow_mailtos
Line 167  sub plural_write($$);
Line 167  sub plural_write($$);
 sub readableTime($$);  sub readableTime($$);
 sub clickablePath($$);  sub clickablePath($$);
 sub chooseCVSRoot();  sub chooseCVSRoot();
 sub chooseMirror();  
 sub fileSortCmp();  sub fileSortCmp();
 sub download_url($$;$);  sub download_url($$;$);
 sub download_link($$$;$);  sub download_link($$$;$);
Line 195  $config = '/conf/cvsweb/cvsweb.conf';
Line 194  $config = '/conf/cvsweb/cvsweb.conf';
   
 ######## Configuration parameters #########  ######## Configuration parameters #########
   
 @CVSrepositories = @CVSROOT = %CVSROOT = %MIRRORS = %DEFAULTVALUE = %ICONS =  @CVSrepositories = @CVSROOT = %CVSROOT = %DEFAULTVALUE = %ICONS =
   %MTYPES = %tags = %alltags = %fileinfo = %DIFF_COMMANDS = ();    %MTYPES = %tags = %alltags = %fileinfo = %DIFF_COMMANDS = ();
   
 $cvstreedefault = $logo = $defaulttitle =  $logo = $defaulttitle =
   $address = $long_intro = $short_instruction = $shortLogLen = $show_author =    $address = $long_intro = $short_instruction = $shortLogLen = $show_author =
   $tablepadding = $hr_breakable = $showfunc = $hr_ignwhite =    $tablepadding = $hr_breakable = $showfunc = $hr_ignwhite =
   $hr_ignkeysubst = $inputTextSize = $mime_types = $allow_annotate =    $hr_ignkeysubst = $inputTextSize = $mime_types = $allow_annotate =
Line 472  for (my $i = 0; $i < scalar(@CVSrepositories); $i += 2
Line 471  for (my $i = 0; $i < scalar(@CVSrepositories); $i += 2
     next;      next;
   }    }
   $rootfound ||= 1;    $rootfound ||= 1;
   $cvstreedefault = $key unless defined($cvstreedefault);  
   $CVSROOTdescr{$key} = $descr;    $CVSROOTdescr{$key} = $descr;
   $CVSROOT{$key} = $root;    $CVSROOT{$key} = $root;
   push(@CVSROOT, $key);    push(@CVSROOT, $key);
Line 485  unless ($rootfound) {
Line 483  unless ($rootfound) {
 }  }
 undef $rootfound;  undef $rootfound;
   
 #  $DEFAULTVALUE{cvsroot} = $CVSrepositories[0];
 # Default CVS root  
 #  
 if (!defined($CVSROOT{$cvstreedefault})) {  
   fatal("500 Internal Error",  
         '<code>$cvstreedefault</code> points to a repository (%s) not ' .  
         'defined in <code>@CVSrepositories</code> in your configuration ' .  
         'file (<code>%s</code>).',  
         $cvstreedefault,  
         $config);  
 }  
   
 $DEFAULTVALUE{cvsroot} = $cvstreedefault;  
   
 while (my ($key, $defval) = each %DEFAULTVALUE) {  while (my ($key, $defval) = each %DEFAULTVALUE) {
   
   # Replace not given parameters with defaults.    # Replace not given parameters with defaults.
Line 576  $logsort = $input{logsort};
Line 562  $logsort = $input{logsort};
 if ($input{cvsroot} && $CVSROOT{$input{cvsroot}}) {  if ($input{cvsroot} && $CVSROOT{$input{cvsroot}}) {
   $cvstree = $input{cvsroot};    $cvstree = $input{cvsroot};
 } else {  } else {
   $cvstree = $cvstreedefault;    $cvstree = $CVSrepositories[0];
 }  }
   
 $cvsroot = $CVSROOT{$cvstree};  $cvsroot = $CVSROOT{$cvstree};
Line 801  if (-d $fullname) {
Line 787  if (-d $fullname) {
   
   # give direct access to dirs    # give direct access to dirs
   if ($where eq '/') {    if ($where eq '/') {
     chooseMirror();  
     chooseCVSRoot();      chooseCVSRoot();
   
   } else {    } else {
     print '<p>Current directory: <b>', clickablePath($where, 0), '</b>';      print '<p>Current directory: <b>', clickablePath($where, 0), '</b>';
     print "</p>\n";      print "</p>\n";
Line 1134  EOF
Line 1118  EOF
       printf(qq{<input type="hidden" name="%s" value="%s" />\n},        printf(qq{<input type="hidden" name="%s" value="%s" />\n},
              $v, $input{$v} || 0);               $v, $input{$v} || 0);
     }      }
     if ($cvstree ne $cvstreedefault) {      if ($cvstree ne $CVSrepositories[0]) {
       print "<input type=\"hidden\" name=\"cvsroot\" value=\"$cvstree\" />\n";        print "<input type=\"hidden\" name=\"cvsroot\" value=\"$cvstree\" />\n";
     }      }
     print <<EOF;      print <<EOF;
Line 3492  Module path or alias:
Line 3476  Module path or alias:
 </p>  </p>
 </form>  </form>
 EOF  EOF
 }  
   
   
 sub chooseMirror()  
 {  
   # This code comes from the original BSD-cvsweb  
   # and may not be useful for your site; If you don't  
   # set %MIRRORS this won't show up, anyway.  
   scalar(%MIRRORS) or return;  
   
   # Should perhaps exclude the current site somehow...  
   print "\n<p>\nThis CVSweb is mirrored in\n";  
   
   my @tmp = map(&link(htmlquote($_), $MIRRORS{$_}), sort keys %MIRRORS);  
   my $tmp = pop (@tmp);  
   
   if (scalar(@tmp)) {  
     print join (', ', @tmp), ' and ';  
   }  
   
   print "$tmp.\n</p>\n";  
 }  }
   
   

Legend:
Removed from v.4.25  
changed lines
  Added in v.4.27

CVSweb