gitweb: fix commitdiff for root commits
authorJakub Narebski <jnareb@gmail.com>
Sun, 6 Aug 2006 14:14:25 +0000 (16:14 +0200)
committerJunio C Hamano <junkio@cox.net>
Sun, 6 Aug 2006 20:41:49 +0000 (13:41 -0700)
After changing all "-|" open invocations to list form, commitdiff for
initial commit (without parent) got broken; it returned incorrectly
empty patch earlier. Use '--root' option to git-diff-tree for initial
(root) commit.

No checking for empty $hash_parent in git_commitdiff_plain -- we rely
on gitweb to give correct parameters for commitdiff_plain action.

Noticed by Matthias Lederhofer (matled).

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
gitweb/gitweb.perl
index 5e72b4f617401c84464b02625cf4643b411adc49..9be35aebd1213ee3ffe8cfcabf8e936571de29ea 100755 (executable)
@@ -2109,7 +2109,7 @@ sub git_commitdiff {
                die_error(undef, "Unknown commit object");
        }
        if (!defined $hash_parent) {
-               $hash_parent = $co{'parent'};
+               $hash_parent = $co{'parent'} || '--root';
        }
        open my $fd, "-|", $GIT, "diff-tree", '-r', $hash_parent, $hash
                or die_error(undef, "Open git-diff-tree failed");