--- Jakub Narebski <jnareb@xxxxxxxxx> wrote: > 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> Acked-by: Luben Tuikov <ltuikov@xxxxxxxxx> This patch fixes it. Luben > --- > > 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