Code

gitweb: Use --no-commit-id in git_commit and git_commitdiff
authorJakub Narebski <jnareb@gmail.com>
Thu, 26 Oct 2006 08:50:20 +0000 (10:50 +0200)
committerJunio C Hamano <junkio@cox.net>
Thu, 26 Oct 2006 09:16:30 +0000 (02:16 -0700)
Use --no-commit-id option to git-diff-tree command in git_commit and
git_commitdiff to filter out commit ID output that git-diff-tree adds
when called with only one <tree-ish> (not only for --stdin). Remove
filtering commit IDs from git-diff-tree output.

This option is in git since at least v1.0.0, so make use of it.

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
gitweb/gitweb.perl

index ba7a42a98353df87b566d26d1ea3dd76fcbd1e6b..5a81b8ffcd81fb47577df294f8c7092215997327 100755 (executable)
@@ -3133,14 +3133,12 @@ sub git_commit {
        if (!defined $parent) {
                $parent = "--root";
        }
-       open my $fd, "-|", git_cmd(), "diff-tree", '-r', @diff_opts, $parent, $hash
+       open my $fd, "-|", git_cmd(), "diff-tree", '-r', "--no-commit-id",
+               @diff_opts, $parent, $hash
                or die_error(undef, "Open git-diff-tree failed");
        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}$/) {
@@ -3411,15 +3409,14 @@ sub git_commitdiff {
        my @difftree;
        if ($format eq 'html') {
                open $fd, "-|", git_cmd(), "diff-tree", '-r', @diff_opts,
+                       "--no-commit-id",
                        "--patch-with-raw", "--full-index", $hash_parent, $hash
                        or die_error(undef, "Open git-diff-tree failed");
 
                while (chomp(my $line = <$fd>)) {
                        # empty line ends raw part of diff-tree output
                        last unless $line;
-                       # filter out commit ID output
-                       push @difftree, $line
-                               unless $line =~ m/^[0-9a-fA-F]{40}$/;
+                       push @difftree, $line;
                }
 
        } elsif ($format eq 'plain') {