{"thread":{"id":"5155","subject":"[PATCH] gitweb: fix commitdiff for root commits","startedAt":"2006-08-06T14:14:25Z","lastAt":"2006-08-06T14:14:25Z","messageCount":1,"participants":["Jakub Narebski"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"24890","messageId":"200608061614.25763.jnareb@gmail.com","threadId":"5155","inReplyTo":null,"subject":"[PATCH] gitweb: fix commitdiff for root commits","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2006-08-06T14:14:25Z","receivedAt":"2006-08-06T14:14:25Z","isPatch":true,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"After changing all \"-|\" open invocations to list form, commitdiff for\ninitial commit (without parent) got broken; it returned incorrectly\nempty patch earlier.  Use '--root' option to git-diff-tree for initial\n(root) commit.\n\nNo checking for empty $hash_parent in git_commitdiff_plain -- we rely\non gitweb to give correct parameters for commitdiff_plain action.\n\nNoticed by Matthias Lederhofer (matled).\n\nSigned-off-by: Jakub Narebski <jnareb@gmail.com>\n---\nPatch based on 'next' branch (234416bff6c426a9abaaacef80ba3679c0ce8f39)\n\n gitweb/gitweb.perl |    2 +-\n 1 files changed, 1 insertions(+), 1 deletions(-)\n\ndiff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl\nindex d0672cd..bbea21a 100755\n--- a/gitweb/gitweb.perl\n+++ b/gitweb/gitweb.perl\n@@ -2109,7 +2109,7 @@ sub git_commitdiff {\n \t\tdie_error(undef, \"Unknown commit object\");\n \t}\n \tif (!defined $hash_parent) {\n-\t\t$hash_parent = $co{'parent'};\n+\t\t$hash_parent = $co{'parent'} || '--root';\n \t}\n \topen my $fd, \"-|\", $GIT, \"diff-tree\", '-r', $hash_parent, $hash\n \t\tor die_error(undef, \"Open git-diff-tree failed\");\n-- \n1.4.1.1\n"}]}