diff options
author | Junio C Hamano <gitster@pobox.com> | 2012-07-24 07:55:07 +0400 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2012-07-24 07:55:07 +0400 |
commit | 6da9ded763b69685149c2f9a752e2005261bf0c3 (patch) | |
tree | db1f927b8314eac04687029af22b9095667d58ae | |
parent | e7719469154fc9bbf910df89b80a5145c7d93959 (diff) | |
parent | 66c857e1aec14e5049dbef659369f140ef220ae4 (diff) |
Merge branch 'nk/maint-gitweb-log-by-lines'
Teach gitweb to pay attention to various forms of credits that are
similar to "Signed-off-by:" lines.
* nk/maint-gitweb-log-by-lines:
gitweb: Add support to Link: tag
gitweb: Handle other types of tag in git_print_log
gitweb: Cleanup git_print_log()
-rwxr-xr-x | gitweb/gitweb.perl | 33 |
1 files changed, 18 insertions, 15 deletions
diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl index 55e0e9ea38..3d6a705388 100755 --- a/gitweb/gitweb.perl +++ b/gitweb/gitweb.perl @@ -4484,30 +4484,33 @@ sub git_print_log { } # print log - my $signoff = 0; - my $empty = 0; + my $skip_blank_line = 0; foreach my $line (@$log) { - if ($line =~ m/^ *(signed[ \-]off[ \-]by[ :]|acked[ \-]by[ :]|cc[ :])/i) { - $signoff = 1; - $empty = 0; + if ($line =~ m/^\s*([A-Z][-A-Za-z]*-[Bb]y|C[Cc]): /) { if (! $opts{'-remove_signoff'}) { print "<span class=\"signoff\">" . esc_html($line) . "</span><br/>\n"; - next; - } else { - # remove signoff lines - next; + $skip_blank_line = 1; } - } else { - $signoff = 0; + next; + } + + if ($line =~ m,\s*([a-z]*link): (https?://\S+),i) { + if (! $opts{'-remove_signoff'}) { + print "<span class=\"signoff\">" . esc_html($1) . ": " . + "<a href=\"" . esc_html($2) . "\">" . esc_html($2) . "</a>" . + "</span><br/>\n"; + $skip_blank_line = 1; + } + next; } # print only one empty line # do not print empty line after signoff if ($line eq "") { - next if ($empty || $signoff); - $empty = 1; + next if ($skip_blank_line); + $skip_blank_line = 1; } else { - $empty = 0; + $skip_blank_line = 0; } print format_log_line_html($line) . "<br/>\n"; @@ -4515,7 +4518,7 @@ sub git_print_log { if ($opts{'-final_empty_line'}) { # end with single empty line - print "<br/>\n" unless $empty; + print "<br/>\n" unless $skip_blank_line; } } |