diff options
author | Jakub Narebski <jnareb@gmail.com> | 2006-08-28 14:48:10 +0200 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2006-08-28 16:21:34 -0700 |
commit | b7f9253df9bf351527f319d67bf67a95a4b8d79a (patch) | |
tree | 8d1855cf2d5fe7bfd5fe7689367a1bdc6af76c23 /gitweb | |
parent | 25691fbe6d02135d55dfc3a5180e29890dce1521 (diff) | |
download | git-b7f9253df9bf351527f319d67bf67a95a4b8d79a.tar.gz git-b7f9253df9bf351527f319d67bf67a95a4b8d79a.tar.xz |
gitweb: Make git_print_log generic; git_print_simplified_log uses it
Collapse git_print_log and git_print_simplified_log into one
subroutine git_print_log. git_print_simplified_log now simply calls
git_print_log with proper options.
Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'gitweb')
-rwxr-xr-x | gitweb/gitweb.perl | 63 |
1 files changed, 31 insertions, 32 deletions
diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl index 352236bc4..ba21a4770 100755 --- a/gitweb/gitweb.perl +++ b/gitweb/gitweb.perl @@ -1377,9 +1377,15 @@ sub git_print_page_path { } } -sub git_print_log { +# sub git_print_log (\@;%) { +sub git_print_log ($;%) { my $log = shift; + my %opts = @_; + if ($opts{'-remove_title'}) { + # remove title, i.e. first line of log + shift @$log; + } # remove leading empty lines while (defined $log->[0] && $log->[0] eq "") { shift @$log; @@ -1389,6 +1395,19 @@ sub git_print_log { my $signoff = 0; my $empty = 0; foreach my $line (@$log) { + if ($line =~ m/^ *(signed[ \-]off[ \-]by[ :]|acked[ \-]by[ :]|cc[ :])/i) { + $signoff = 1; + if (! $opts{'-remove_signoff'}) { + print "<span class=\"signoff\">" . esc_html($line) . "</span><br/>\n"; + next; + } else { + # remove signoff lines + next; + } + } else { + $signoff = 0; + } + # print only one empty line # do not print empty line after signoff if ($line eq "") { @@ -1397,13 +1416,13 @@ sub git_print_log { } else { $empty = 0; } - if ($line =~ m/^ *(signed[ \-]off[ \-]by[ :]|acked[ \-]by[ :]|cc[ :])/i) { - $signoff = 1; - print "<span class=\"signoff\">" . esc_html($line) . "</span><br/>\n"; - } else { - $signoff = 0; - print format_log_line_html($line) . "<br/>\n"; - } + + print format_log_line_html($line) . "<br/>\n"; + } + + if ($opts{'-final_empty_line'}) { + # end with single empty line + print "<br/>\n" unless $empty; } } @@ -1411,30 +1430,10 @@ sub git_print_simplified_log { my $log = shift; my $remove_title = shift; - shift @$log if $remove_title; - # remove leading empty lines - while (defined $log->[0] && $log->[0] eq "") { - shift @$log; - } - - # simplify and print log - my $empty = 0; - foreach my $line (@$log) { - # remove signoff lines - if ($line =~ m/^ *(signed[ \-]off[ \-]by[ :]|acked[ \-]by[ :]|cc[ :])/i) { - next; - } - # print only one empty line - if ($line eq "") { - next if $empty; - $empty = 1; - } else { - $empty = 0; - } - print format_log_line_html($line) . "<br/>\n"; - } - # end with single empty line - print "<br/>\n" unless $empty; + git_print_log($log, + -final_empty_line=> 1, + -remove_signoff => 1, + -remove_title => $remove_title); } ## ...................................................................... |