Fix case when git_patchset_body didn't close <div class="patch">, for patchsets with last patch empty. perlsyn(1): The "last" command immediately exits the loop in question. The "continue" block, if any, is not executed. Remove some commented out code in git_patchset_body. Signed-off-by: Jakub Narebski <jnareb@xxxxxxxxx> --- Luben Tuikov wrote: > --- Jakub Narebski <jnareb@xxxxxxxxx> wrote: >> Jakub Narebski wrote: >>> Luben Tuikov wrote: >>> >>>> Ok, I see that Junio has committed the fixes to "next" -- thanks! >>>> That saved me time having to manually apply them. >>>> >>>> Now, the results are that I see the same bug. >>> >>> (The same bug = no closing div). >>> >>> I'll try to reproduce this. >> >> I failed to reproduce this error. >> >> Could you apply the following patch, and report the result of >> grep "</div>\|<div" | grep -v "<div.*</div> >> (find all opening and closing <div> elements, but omitting >> those which are opened and closed in the same line)? [...] > <div class="patchset"> > <div class="patch" id="patch1"> > <div class="diff extended_header"> > </div><!-- diff extended_header --> > </div><!-- patch 0 --> > <div class="patch" id="patch2"> > <div class="diff extended_header"> > </div><!-- diff extended_header --> > </div><!-- patchset --> [...] > The bug is clear. Oops. I'm bit new to Perl. This should fix it. gitweb/gitweb.perl | 7 ++++--- 1 files changed, 4 insertions(+), 3 deletions(-) diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl index 25e5079..88af2e6 100755 --- a/gitweb/gitweb.perl +++ b/gitweb/gitweb.perl @@ -2412,7 +2412,6 @@ sub git_patchset_body { push @diff_header, $patch_line; } - #last PATCH unless $patch_line; my $last_patch_line = $patch_line; # check if current patch belong to current raw line @@ -2522,7 +2521,10 @@ sub git_patchset_body { # from-file/to-file diff header $patch_line = $last_patch_line; - last PATCH unless $patch_line; + if (! $patch_line) { + print "</div>\n"; # class="patch" + last PATCH; + } next PATCH if ($patch_line =~ m/^diff /); #assert($patch_line =~ m/^---/) if DEBUG; if ($from{'href'} && $patch_line =~ m!^--- "?a/!) { @@ -2533,7 +2535,6 @@ sub git_patchset_body { print "<div class=\"diff from_file\">$patch_line</div>\n"; $patch_line = <$fd>; - #last PATCH unless $patch_line; chomp $patch_line; #assert($patch_line =~ m/^+++/) if DEBUG; -- 1.4.4.3 - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html