summaryrefslogtreecommitdiff
path: root/gitweb
diff options
context:
space:
mode:
authorLibravatar Jakub Narebski <jnareb@gmail.com>2006-08-28 14:48:10 +0200
committerLibravatar Junio C Hamano <junkio@cox.net>2006-08-28 16:21:34 -0700
commitb7f9253df9bf351527f319d67bf67a95a4b8d79a (patch)
tree8d1855cf2d5fe7bfd5fe7689367a1bdc6af76c23 /gitweb
parentgitweb: Use --git-dir parameter instead of setting $ENV{'GIT_DIR'} (diff)
downloadtgif-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-xgitweb/gitweb.perl63
1 files changed, 31 insertions, 32 deletions
diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl
index 352236bc44..ba21a4770d 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);
}
## ......................................................................