X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=builtin-diff-tree.c;h=0b591c87169ff4b8c2173bedb26d6ed1a8a84b68;hb=070739fd351702ea9bb4f65595728ae25a488075;hp=3409a39a9f73f9ed67547f5cc79619c1e402f47b;hpb=16bf4e1f1ed040ae9f745408d6585b7806a1bfb0;p=git.git diff --git a/builtin-diff-tree.c b/builtin-diff-tree.c index 3409a39a9..0b591c871 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_diff_config); + init_revisions(opt, prefix); + git_config(git_default_config); /* no "diff" UI options */ nr_sha1 = 0; - init_revisions(opt); opt->abbrev = 0; opt->diff = 1; argc = setup_revisions(argc, argv, opt, NULL); @@ -84,6 +84,9 @@ int cmd_diff_tree(int argc, const char **argv, char **envp) usage(diff_tree_usage); } + if (!opt->diffopt.output_format) + opt->diffopt.output_format = DIFF_FORMAT_RAW; + /* * NOTE! We expect "a ^b" to be equal to "a..b", so we * reverse the order of the objects if the second one @@ -115,7 +118,8 @@ int cmd_diff_tree(int argc, const char **argv, char **envp) } if (!read_stdin) - return 0; + return opt->diffopt.exit_with_status ? + opt->diffopt.has_changes: 0; if (opt->diffopt.detect_rename) opt->diffopt.setup |= (DIFF_SETUP_USE_SIZE_CACHE | @@ -130,5 +134,5 @@ int cmd_diff_tree(int argc, const char **argv, char **envp) else diff_tree_stdin(line); } - return 0; + return opt->diffopt.exit_with_status ? opt->diffopt.has_changes: 0; }