summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Narebski <jnareb@gmail.com>2007-01-07 01:52:25 (GMT)
committerJunio C Hamano <junkio@cox.net>2007-01-07 06:52:54 (GMT)
commit66399eff86555fce52dc7b54829f02e4bb2424b7 (patch)
tree2e3340df6121a6d76db1d4191c3238389c92358f
parent2e1951f6eddfa070916a0e678aa508f73d92aa50 (diff)
downloadgit-66399eff86555fce52dc7b54829f02e4bb2424b7.zip
git-66399eff86555fce52dc7b54829f02e4bb2424b7.tar.gz
git-66399eff86555fce52dc7b54829f02e4bb2424b7.tar.bz2
gitweb: Fix errors in git_patchset_body for empty patches
We now do not skip over empty patches in git_patchset_body (where empty means that they consist only of git diff header, and of extended diff header, for example "pure rename" patch). This means that after extended diff header there can be next patch (i.e. /^diff /) or end of patchset, and not necessary patch body (i.e. /^--- /). Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
-rwxr-xr-xgitweb/gitweb.perl4
1 files changed, 3 insertions, 1 deletions
diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl
index 1b4a4c0..7ebdfbb 100755
--- a/gitweb/gitweb.perl
+++ b/gitweb/gitweb.perl
@@ -2403,7 +2403,7 @@ sub git_patchset_body {
while ($patch_line = <$fd>) {
chomp $patch_line;
- last EXTENDED_HEADER if ($patch_line =~ m/^--- /);
+ last EXTENDED_HEADER if ($patch_line =~ m/^--- |^diff /);
if ($patch_line =~ m/^index ([0-9a-fA-F]{40})..([0-9a-fA-F]{40})/) {
$from_id = $1;
@@ -2522,6 +2522,8 @@ sub git_patchset_body {
# from-file/to-file diff header
$patch_line = $last_patch_line;
+ last PATCH unless $patch_line;
+ next PATCH if ($patch_line =~ m/^diff /);
#assert($patch_line =~ m/^---/) if DEBUG;
if ($from{'href'}) {
$patch_line = '--- a/' .