{"thread":{"id":"12366","subject":"[PATCH] Use diff_tree() directly in making cover letter","startedAt":"2008-02-28T17:14:13Z","lastAt":"2008-02-28T17:38:30Z","messageCount":2,"participants":["Daniel Barkalow","Johannes Schindelin"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"70280","messageId":"alpine.LNX.1.00.0802281213140.19665@iabervon.org","threadId":"12366","inReplyTo":null,"subject":"[PATCH] Use diff_tree() directly in making cover letter","fromName":"Daniel Barkalow","fromEmail":"barkalow@iabervon.org","sentAt":"2008-02-28T17:14:13Z","receivedAt":"2008-02-28T17:14:13Z","isPatch":true,"sender":{"key":"barkalow@iabervon.org","avatar":"https://avatars.githubusercontent.com/u/55364219?v=4"},"body":"Signed-off-by: Daniel Barkalow <barkalow@iabervon.org>\n---\n builtin-log.c |   25 +++++++++++--------------\n 1 files changed, 11 insertions(+), 14 deletions(-)\n\ndiff --git a/builtin-log.c b/builtin-log.c\nindex 836b61e..bbadbc0 100644\n--- a/builtin-log.c\n+++ b/builtin-log.c\n@@ -647,8 +647,7 @@ static void make_cover_letter(struct rev_info *rev, int use_stdout,\n \t\t\t      int nr, struct commit **list, struct commit *head)\n {\n \tconst char *committer;\n-\tconst char *origin_sha1, *head_sha1;\n-\tconst char *argv[7];\n+\tchar *head_sha1;\n \tconst char *subject_start = NULL;\n \tconst char *body = \"*** SUBJECT HERE ***\\n\\n*** BLURB HERE ***\\n\";\n \tconst char *msg;\n@@ -657,6 +656,7 @@ static void make_cover_letter(struct rev_info *rev, int use_stdout,\n \tstruct strbuf sb;\n \tint i;\n \tconst char *encoding = \"utf-8\";\n+\tstruct diff_options opts;\n \n \tif (rev->commit_format != CMIT_FMT_EMAIL)\n \t\tdie(\"Cover letter needs email format\");\n@@ -694,20 +694,17 @@ static void make_cover_letter(struct rev_info *rev, int use_stdout,\n \tif (!origin)\n \t\treturn;\n \n-\torigin_sha1 = sha1_to_hex(origin->object.sha1);\n+\tdiff_setup(&opts);\n+\topts.output_format |= DIFF_FORMAT_SUMMARY | DIFF_FORMAT_DIFFSTAT;\n \n-\targv[0] = \"diff\";\n-\targv[1] = \"--stat\";\n-\targv[2] = \"--summary\";\n-\targv[3] = head_sha1;\n-\targv[4] = \"--not\";\n-\targv[5] = origin_sha1;\n-\targv[6] = \"--\";\n-\targv[7] = NULL;\n-\tfflush(stdout);\n-\trun_command_v_opt(argv, RUN_GIT_CMD);\n+\tdiff_setup_done(&opts);\n+\n+\tdiff_tree_sha1(origin->tree->object.sha1,\n+\t\t       head->tree->object.sha1,\n+\t\t       \"\", &opts);\n+\tdiffcore_std(&opts);\n+\tdiff_flush(&opts);\n \n-\tfflush(stdout);\n \tprintf(\"\\n\");\n }\n \n-- \n1.5.4.3.328.gcaed\n"},{"id":"70283","messageId":"alpine.LSU.1.00.0802281738220.22527@racer.site","threadId":"12366","inReplyTo":"alpine.LNX.1.00.0802281213140.19665@iabervon.org","subject":"Re: [PATCH] Use diff_tree() directly in making cover letter","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2008-02-28T17:38:30Z","receivedAt":"2008-02-28T17:38:30Z","isPatch":true,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Thu, 28 Feb 2008, Daniel Barkalow wrote:\n\n> Signed-off-by: Daniel Barkalow <barkalow@iabervon.org>\n> ---\n>  builtin-log.c |   25 +++++++++++--------------\n\nNice!\n\nCiao,\nDscho\n"}]}