[PATCH 2/3] gitweb: Filter out commit ID from @difftree in git_commit and git_commitdiff
- From
Jakub Narebski <jnareb@gmail.com>
- Date
- Oct 24, 2006, 11:54 UTC
- Message-ID
- <200610241354.49396.jnareb@gmail.com>
- In-Reply-To
- <200610241349.54685.jnareb@gmail.com>
Filter out commit ID output that git-diff-tree adds when called with only one <tree-ish> (not only for --stdin) in git_commit and git_commitdiff.
This also works with older git versions, which doesn't have --no-commit-id option to git-diff-tree.
Signed-off-by: Jakub Narebski <jnareb@gmail.com> --- gitweb/gitweb.perl | 7 ++++++- 1 files changed, 6 insertions(+), 1 deletions(-)
diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl index 8ac60be..a88e0a8 100755 --- a/gitweb/gitweb.perl +++ b/gitweb/gitweb.perl @@ -3009,6 +3009,9 @@ sub git_commit { my @difftree = map { chomp; $_ } <$fd>; close $fd or die_error(undef, "Reading git-diff-tree failed"); + # filter out commit ID output + @difftree = grep(!/^[0-9a-fA-F]{40}$/, @difftree); + # non-textual hash id's can be cached my $expires; if ($hash =~ m/^[0-9a-fA-F]{40}$/) { @@ -3327,7 +3330,9 @@ sub git_commitdiff { while (chomp(my $line = <$fd>)) { # empty line ends raw part of diff-tree output last unless $line; - push @difftree, $line; + # filter out commit ID output + push @difftree, $line + unless $line =~ m/^[0-9a-fA-F]{40}$/; } } elsif ($format eq 'plain') {
-- 1.4.2.1