===================================================================
RCS file: /cvs/cvsweb/cvsweb.cgi,v
retrieving revision 4.5
retrieving revision 4.19
diff -u -p -r4.5 -r4.19
--- cvsweb/cvsweb.cgi 2019/11/09 09:24:13 4.5
+++ cvsweb/cvsweb.cgi 2019/11/11 14:56:27 4.19
@@ -1,5 +1,5 @@
#!/usr/bin/perl
-# $Id: cvsweb.cgi,v 4.5 2019/11/09 09:24:13 schwarze Exp $
+# $Id: cvsweb.cgi,v 4.19 2019/11/11 14:56:27 schwarze Exp $
# $knu: cvsweb.cgi,v 1.299 2010/11/13 16:37:18 simon
#
# cvsweb - a CGI interface to CVS trees.
@@ -69,13 +69,13 @@ use vars qw (
%input $query $barequery $sortby $bydate $byrev $byauthor
$bylog $byfile $defaultDiffType $logsort $cvstree $cvsroot
$charset $output_filter
- @command_path %CMD $allow_compress $backicon $diricon $fileicon $graphicon
+ @command_path %CMD $allow_compress $backicon $diricon $fileicon
$fullname $cvstreedefault $logo $defaulttitle $address $binfileicon
$long_intro $short_instruction $shortLogLen $show_author
$tablepadding $hr_breakable $showfunc $hr_ignwhite $hr_ignkeysubst
$inputTextSize $mime_types $allow_annotate $allow_markup $allow_mailtos
$allow_log_extra $allow_dir_extra $allow_source_extra
- $allow_cvsgraph $cvsgraph_config $use_java_script $edit_option_form
+ $edit_option_form
$show_subdir_lastmod $show_log_in_markup $preformat_in_markup
$tabstop $state $annTable $sel @ForbiddenFiles
$use_descriptions %descriptions @mytz $dwhere
@@ -83,9 +83,9 @@ use vars qw (
$allow_tar @tar_options @gzip_options @zip_options @cvs_options
@annotate_options @rcsdiff_options
$HTML_DOCTYPE $HTML_META $cssurl $CSS $cvshistory_url
- $allow_enscript @enscript_options %enscript_types
);
+require Compress::Zlib;
use Cwd qw(abs_path);
use File::Path qw(rmtree);
use File::Spec::Functions qw(canonpath catdir catfile curdir devnull rootdir
@@ -102,9 +102,6 @@ use constant CVSWEBMARKUP => qr{^text/(x-cvsweb|vnd\.v
use constant LOG_FILESEPR => qr/^={77}$/o;
use constant LOG_REVSEPR => qr/^-{28}$/o;
-use constant HAS_ZLIB => eval { require Compress::Zlib; };
-use constant HAS_EDIFF => eval { require String::Ediff; };
-
# -----------------------------------------------------------------------------
# All global initialization that can be done in compile time should go to
@@ -113,7 +110,7 @@ use constant HAS_EDIFF => eval { require String::Ed
BEGIN
{
- $VERSION = '3.0.6';
+ $VERSION = '3.1';
$HTML_DOCTYPE =
' 'unified, colored',
- 'opts' => ['-u'],
- 'colored' => 0,
- },
- {
- 'descr' => 'context, colored',
- 'opts' => ['-c'],
- 'colored' => 0,
- },
- );
-} else {
- # No Enscript -> respect difftype, but don't offer colorization.
- if ($input{f} && $input{f} =~ /^([ucs])c$/) {
- $input{f} = $1;
- }
-}
-
# is there any query ?
if (@barequery) {
$barequery = join (';', @barequery);
@@ -757,6 +735,7 @@ if ($input{tarball}) {
}
# Clean up.
+ chdir("..");
rmtree($tmpexportdir);
&fatal(@fatal) if @fatal;
@@ -1050,12 +1029,11 @@ EOF
$filesfound++;
printf "
\n", ($dirrow % 2) ? 'even' : 'odd';
- printf '', $allow_cvsgraph ? '' : ' colspan="2"';
+ printf ' | ';
my $icon = $isbinary ? $binfileicon : $fileicon;
print $nofilelinks ? $icon : &link($icon, $url);
print ' ', &link(htmlquote($file), $url), $attic;
- print ' | ', graph_link($fileurl) if $allow_cvsgraph;
print " | \n", display_link($fileurl, $rev);
my $ageclass = 'age';
my $age = '';
@@ -1120,10 +1098,10 @@ EOF
|| $input{$var} ne $DEFAULTVALUE{$var})
&& $var ne 'only_with_tag');
}
- printf(<
|
EOF
- printLogSortSelect(0);
+ printLogSortSelect();
print <
@@ -1240,7 +1218,7 @@ EOF
|
EOF
- printDiffSelect(0);
+ printDiffSelect();
print <
@@ -1279,16 +1257,6 @@ elsif (-f $fullname . ',v') {
exit;
}
- if ($allow_cvsgraph && $input{graph}) {
- if ($input{makeimage}) {
- doGraph();
- } else {
- doGraphView();
- }
- gzipclose();
- exit;
- }
-
&doLog($fullname);
}
@@ -1364,12 +1332,9 @@ gzipclose();
## End MAIN
-sub printDiffSelect($)
+sub printDiffSelect()
{
- my ($use_java_script) = @_;
-
print ' |
EOF
- printDiffSelect($use_java_script);
+ printDiffSelect();
print <
|
@@ -3266,14 +3088,14 @@ EOF
if (@branchnames) {
- printf(<
|
-
+
EOF
my @tmp = ();
@@ -3306,7 +3128,7 @@ EOF
|
EOF
- printLogSortSelect($use_java_script);
+ printLogSortSelect();
print <
|
@@ -3344,214 +3166,6 @@ EOF
}
} elsif ($state eq "PreChange") { # state eq "PreChange"
# we got removes with subsequent adds
- if (HAS_EDIFF) {
- # construct the suffix tree
- my $left_diff = join("\n", @$leftColRef[0..$leftRow-1]);
- my $right_diff = join("\n", @$rightColRef[0..$rightRow-1]);
- my $diff_str = String::Ediff::ediff($left_diff, $right_diff);
-
- my @diff_str = split(/ /, $diff_str);
- my $INFINITY = 10000000;
- push(@diff_str, ($INFINITY) x 8);
- my ($idx, $b1, $e1, $lb1, $le1, $b2, $e2, $lb2, $le2) =
- (0, @diff_str[0..7]);
- my ($l_cul, $r_cul) = (0, 0);
- my ($ldx, $rdx) = (0, 0);
- my (@left_html, @right_html);
- for (my $j = 0; $j < $leftRow; $j++) {
- my $line_len = length(@$leftColRef[$j]);
- my $line = @$leftColRef[$j];
- $l_cul += length($line) + 1; # includes "\n"
- my $l_culx = $l_cul - 1; # not includes "\n"
- if ($j < $lb1) {
- $line = spacedHtmlText($line);
- push(@left_html, "$line | ");
- } elsif ($lb1 == $j) {
- my $html_line;
- while ($lb1 == $j) {
- my $begin_char = $l_culx - $b1;
-
- $line =~ /^(.*)(.{$begin_char})$/;
- $html_line .= spacedHtmlText($1) .
- '';
- $line = $2;
- last if ($j != $le1);
-
- my $end_char = $l_culx - $e1;
- $line =~ /^(.*)(.{$end_char})$/;
- $html_line .= spacedHtmlText($1) .
- '';
- $line = $2;
-
- $idx++;
- my ($tb1, $te1, $tlb1, $tle1, $tb2, $te2, $tlb2, $tle2) =
- ($b1, $e1, $lb1, $le1, $b2, $e2, $lb2, $le2);
- ($b1, $e1, $lb1, $le1, $b2, $e2, $lb2, $le2) =
- @diff_str[$idx*8..($idx+1)*8-1];
- $lb1 = $INFINITY if ($lb1 < 0);
- $lb2 = $INFINITY if ($lb2 < 0);
- $le1 = $INFINITY if ($le1 < 0);
- $le2 = $INFINITY if ($le2 < 0);
- if ($te1 > $b1) {
- ($b1, $lb1) = ($te1, $tle1);
- }
- if ($te2 > $b2) {
- ($b2, $lb2) = ($te2, $tle2);
- }
- }
- push(@left_html,
- sprintf('%s%s | ',
- $html_line, spacedHtmlText($line)));
- } elsif ($le1 == $j) {
- my $html_line;
- while ($le1 == $j) {
- my $end_char = $l_culx - $e1;
- $line =~ /^(.*)(.{$end_char})$/;
- $html_line .= spacedHtmlText($1) .
- '';
- $line = $2;
-
- $idx++;
- my ($tb1, $te1, $tlb1, $tle1, $tb2, $te2, $tlb2, $tle2) =
- ($b1, $e1, $lb1, $le1, $b2, $e2, $lb2, $le2);
- ($b1, $e1, $lb1, $le1, $b2, $e2, $lb2, $le2) =
- @diff_str[$idx*8..($idx+1)*8-1];
- $lb1 = $INFINITY if ($lb1 < 0);
- $lb2 = $INFINITY if ($lb2 < 0);
- $le1 = $INFINITY if ($le1 < 0);
- $le2 = $INFINITY if ($le2 < 0);
- if ($te1 > $b1) {
- ($b1, $lb1) = ($te1, $tle1);
- }
- if ($te2 > $b2) {
- ($b2, $lb2) = ($te2, $tle2);
- }
-
- last if ($lb1 != $j);
-
- my $begin_char = $l_culx - $b1;
-
- $line =~ /^(.*)(.{$begin_char})$/;
- $html_line .= spacedHtmlText($1) .
- '';
- $line = $2;
- }
- push(@left_html,
- sprintf('%s%s | ',
- $html_line, spacedHtmlText($line)));
- } else {
- $line = spacedHtmlText($line);
- push(@left_html, "$line | ");
- }
- }
- ($idx, $b1, $e1, $lb1, $le1, $b2, $e2, $lb2, $le2) =
- (0, @diff_str[0..7]);
- $lb1 = $INFINITY if ($lb1 < 0);
- $lb2 = $INFINITY if ($lb2 < 0);
- $le1 = $INFINITY if ($le1 < 0);
- $le2 = $INFINITY if ($le2 < 0);
- for (my $j = 0; $j < $rightRow; $j++) {
- my $line_len = length(@$rightColRef[$j]);
- my $line = @$rightColRef[$j];
- $r_cul += length($line) + 1; # includes "\n"
- my $r_culx = $r_cul - 1; # not includes "\n"
- if ($j < $lb2) {
- $line = spacedHtmlText($line);
- push(@right_html, "$line | ");
- } elsif ($lb2 == $j) {
- my $html_line;
- while ($lb2 == $j) {
- my $begin_char = $r_culx - $b2;
-
- $line =~ /^(.*)(.{$begin_char})$/;
- $html_line .= spacedHtmlText($1) .
- '';
- $line = $2;
-
- last if ($j != $le2);
-
- my $end_char = $r_culx - $e2;
- $line =~ /^(.*)(.{$end_char})$/;
- $html_line .= spacedHtmlText($1) .
- '';
- $line = $2;
-
- $idx++;
- my ($tb1, $te1, $tlb1, $tle1, $tb2, $te2, $tlb2, $tle2) =
- ($b1, $e1, $lb1, $le1, $b2, $e2, $lb2, $le2);
- ($b1, $e1, $lb1, $le1, $b2, $e2, $lb2, $le2) =
- @diff_str[$idx*8..($idx+1)*8-1];
- $lb1 = $INFINITY if ($lb1 < 0);
- $lb2 = $INFINITY if ($lb2 < 0);
- $le1 = $INFINITY if ($le1 < 0);
- $le2 = $INFINITY if ($le2 < 0);
- if ($te1 > $b1) {
- ($b1, $lb1) = ($te1, $tle1);
- }
- if ($te2 > $b2) {
- ($b2, $lb2) = ($te2, $tle2);
- }
- }
- push(@right_html,
- sprintf('%s%s | ',
- $html_line, spacedHtmlText($line)));
- } elsif ($le2 == $j) {
- my $html_line;
- while ($le2 == $j) {
- my $end_char = $r_culx - $e2;
- $line =~ /^(.*)(.{$end_char})$/;
- $html_line .= spacedHtmlText($1) .
- '';
- $line = $2;
-
- $idx++;
- my ($tb1, $te1, $tlb1, $tle1, $tb2, $te2, $tlb2, $tle2) =
- ($b1, $e1, $lb1, $le1, $b2, $e2, $lb2, $le2);
- ($b1, $e1, $lb1, $le1, $b2, $e2, $lb2, $le2) =
- @diff_str[$idx*8..($idx+1)*8-1];
- $lb1 = $INFINITY if ($lb1 < 0);
- $lb2 = $INFINITY if ($lb2 < 0);
- $le1 = $INFINITY if ($le1 < 0);
- $le2 = $INFINITY if ($le2 < 0);
- if ($te1 > $b1) {
- ($b1, $lb1) = ($te1, $tle1);
- }
- if ($te2 > $b2) {
- ($b2, $lb2) = ($te2, $tle2);
- }
-
- last if ($lb2 != $j);
-
- my $begin_char = $r_culx - $b2;
- $line =~ /^(.*)(.{$begin_char})$/;
- $html_line .= spacedHtmlText($1) .
- '';
- $line = $2;
- }
- push(@right_html,
- sprintf('%s%s | ',
- $html_line, spacedHtmlText($line)));
- } else {
- $line = spacedHtmlText ($line);
- push @right_html, "$line | ";
- }
- }
- for (my $j = 0; $j < $leftRow || $j < $rightRow ; $j++) { # dump out both cols
- print '';
- if ($j < $leftRow) {
- print $left_html[$j];
- } else {
- print ' | ';
- }
- if ($j < $rightRow) {
- print $right_html[$j];
- } else {
- print ' | ';
- }
- print " \n";
- }
- } else {
for (my $j = 0; $j < $leftRow || $j < $rightRow; $j++) { # dump both cols
print "\n";
if ($j < $leftRow) {
@@ -3570,7 +3184,6 @@ EOF
}
print "\n \n";
}
- }
}
}
@@ -3741,7 +3354,7 @@ EOF
| | | |