[PATCH] gitweb: ignore lines from diff-tree which do not match the expected format
From: Matthias Lederhofer <hidden>
Date: 2016-06-15 22:42:35
The sha1 on the first line of git diff-tree -r --root sha1 does not match the expected format and produces warnings. Signed-off-by: Matthias Lederhofer <redacted> --- gitweb/gitweb.perl | 8 ++++++-- 1 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl
index 1f4b0f5..b0da0ea 100755
--- a/gitweb/gitweb.perl
+++ b/gitweb/gitweb.perl@@ -1772,7 +1772,9 @@ sub git_tree { my $alternate = 0; foreach my $line (@entries) { #'100644 blob 0fa3f3a66fb6a137f6ec2c19351ed4d807070ffa panic.c' - $line =~ m/^([0-9]+) (.+) ([0-9a-fA-F]{40})\t(.+)$/; + if (!($line =~ m/^([0-9]+) (.+) ([0-9a-fA-F]{40})\t(.+)$/)) { + next; + } my $t_mode = $1; my $t_type = $2; my $t_hash = $3;
@@ -2163,7 +2165,9 @@ sub git_commitdiff { foreach my $line (@difftree) { # ':100644 100644 03b218260e99b78c6df0ed378e59ed9205ccc96d 3b93d5e7cc7f7dd4ebed13a5cc1a4ad976fc94d8 M ls-files.c' # ':100644 100644 7f9281985086971d3877aca27704f2aaf9c448ce bc190ebc71bbd923f2b728e505408f5e54bd073a M rev-tree.c' - $line =~ m/^:([0-7]{6}) ([0-7]{6}) ([0-9a-fA-F]{40}) ([0-9a-fA-F]{40}) (.)\t(.*)$/; + if (!($line =~ m/^:([0-7]{6}) ([0-7]{6}) ([0-9a-fA-F]{40}) ([0-9a-fA-F]{40}) (.)\t(.*)$/)) { + next; + } my $from_mode = $1; my $to_mode = $2; my $from_id = $3;
--
1.4.1.gfd699