X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=builtin-diff-tree.c;h=832797ff3bb45751758f0d629abb2cf8fa4507ad;hb=928323af6b761e8b1c33ce98e67c2f56fd1b7997;hp=b6106685942e3cb3a5db2b3a67123b5bd554d856;hpb=24cf6e5847073d50390e0b7950e8e6b5a09103bc;p=git.git diff --git a/builtin-diff-tree.c b/builtin-diff-tree.c index b61066859..832797ff3 100644 --- a/builtin-diff-tree.c +++ b/builtin-diff-tree.c @@ -59,7 +59,7 @@ static const char diff_tree_usage[] = " --root include the initial commit as diff against /dev/null\n" COMMON_DIFF_OPTIONS_HELP; -int cmd_diff_tree(int argc, const char **argv, char **envp) +int cmd_diff_tree(int argc, const char **argv, const char *prefix) { int nr_sha1; char line[1000]; @@ -67,9 +67,9 @@ int cmd_diff_tree(int argc, const char **argv, char **envp) static struct rev_info *opt = &log_tree_opt; int read_stdin = 0; - git_config(git_default_config); /* no "diff" UI options */ + init_revisions(opt, prefix); + git_config(git_diff_basic_config); /* no "diff" UI options */ nr_sha1 = 0; - init_revisions(opt); opt->abbrev = 0; opt->diff = 1; argc = setup_revisions(argc, argv, opt, NULL); @@ -117,21 +117,21 @@ int cmd_diff_tree(int argc, const char **argv, char **envp) break; } - if (!read_stdin) - return 0; + if (read_stdin) { + if (opt->diffopt.detect_rename) + opt->diffopt.setup |= (DIFF_SETUP_USE_SIZE_CACHE | + DIFF_SETUP_USE_CACHE); + while (fgets(line, sizeof(line), stdin)) { + unsigned char sha1[20]; - if (opt->diffopt.detect_rename) - opt->diffopt.setup |= (DIFF_SETUP_USE_SIZE_CACHE | - DIFF_SETUP_USE_CACHE); - while (fgets(line, sizeof(line), stdin)) { - unsigned char sha1[20]; - - if (get_sha1_hex(line, sha1)) { - fputs(line, stdout); - fflush(stdout); + if (get_sha1_hex(line, sha1)) { + fputs(line, stdout); + fflush(stdout); + } + else + diff_tree_stdin(line); } - else - diff_tree_stdin(line); } - return 0; + + return diff_result_code(&opt->diffopt, 0); }