{"thread":{"id":"164","subject":"[PATCH 3/4] Use tree_from_tree_or_commit() in diff-tree.","startedAt":"2005-04-20T06:10:26Z","lastAt":"2005-04-20T06:10:26Z","messageCount":1,"participants":["Junio C Hamano"],"isPatch":true,"patchVersion":1,"patchTotal":4},"messages":[{"id":"944","messageId":"7v8y3ekmgd.fsf@assigned-by-dhcp.cox.net","threadId":"164","inReplyTo":null,"subject":"[PATCH 3/4] Use tree_from_tree_or_commit() in diff-tree.","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2005-04-20T06:10:26Z","receivedAt":"2005-04-20T06:10:26Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"This patch makes diff-tree accept either tree or commit.\n\nSigned-off-by: Junio C Hamano <junkio@cox.net>\n---\n\n diff-tree.c |   12 +++++++-----\n 1 files changed, 7 insertions(+), 5 deletions(-)\n\n--- a/diff-tree.c\n+++ b/diff-tree.c\n@@ -160,18 +160,20 @@ static int diff_tree(void *tree1, unsign\n \treturn 0;\n }\n \n-static int diff_tree_sha1(const unsigned char *old, const unsigned char *new, const char *base)\n+static int diff_tree_sha1(const unsigned char *old,\n+\t\t\t  const unsigned char *new,\n+\t\t\t  const char *base)\n {\n \tvoid *tree1, *tree2;\n \tunsigned long size1, size2;\n \tchar type[20];\n \tint retval;\n \n-\ttree1 = read_sha1_file(old, type, &size1);\n-\tif (!tree1 || strcmp(type, \"tree\"))\n+\ttree1 = tree_from_tree_or_commit(old, type, &size1);\n+\tif (!tree1)\n \t\tdie(\"unable to read source tree (%s)\", sha1_to_hex(old));\n-\ttree2 = read_sha1_file(new, type, &size2);\n-\tif (!tree2 || strcmp(type, \"tree\"))\n+\ttree2 = tree_from_tree_or_commit(new, type, &size2);\n+\tif (!tree2)\n \t\tdie(\"unable to read destination tree (%s)\", sha1_to_hex(new));\n \tretval = diff_tree(tree1, size1, tree2, size2, base);\n \tfree(tree1);\n\n"}]}