X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=diff-tree.c;h=0dd3cdacb2640dac7dfac3829e38b46bc450101f;hb=2b64f88f09ae2169ec85652b46897574e352936d;hp=60ad2b5b6cd94b9026882ff6e353a846f02c7851;hpb=9b66ec04741b4030e7654dcb7b978a29a8214b31;p=git.git diff --git a/diff-tree.c b/diff-tree.c index 60ad2b5b..0dd3cdac 100644 --- a/diff-tree.c +++ b/diff-tree.c @@ -9,7 +9,8 @@ static int ignore_merges = 1; static int recursive = 0; static int show_tree_entry_in_recursive = 0; static int read_stdin = 0; -static int diff_output_format = DIFF_FORMAT_HUMAN; +static int diff_output_format = DIFF_FORMAT_RAW; +static int diff_line_termination = '\n'; static int detect_rename = 0; static int find_copies_harder = 0; static int diff_setup_opt = 0; @@ -276,14 +277,14 @@ static int call_diff_flush(void) orderfile, diff_filter); if (diff_queue_is_empty()) { - diff_flush(DIFF_FORMAT_NO_OUTPUT); + diff_flush(DIFF_FORMAT_NO_OUTPUT, diff_line_termination); return 0; } if (header) { - printf("%s%c", header, diff_output_format == DIFF_FORMAT_MACHINE ? 0 : '\n'); + printf("%s%c", header, diff_line_termination); header = NULL; } - diff_flush(diff_output_format); + diff_flush(diff_output_format, diff_line_termination); return 1; } @@ -394,8 +395,10 @@ static int diff_tree_stdin(char *line) return diff_tree_commit(commit, line); } -static char *diff_tree_usage = -"git-diff-tree [-p] [-r] [-z] [--stdin] [-m] [-s] [-v] [--pretty] [-t] [-R] [-B] [-M] [-C] [--find-copies-header] [-O] [-S] [--pickaxe-all] "; +static const char diff_tree_usage[] = +"git-diff-tree [--stdin] [-m] [-s] [-v] [--pretty] [-t] " +"[] " +COMMON_DIFF_OPTIONS_HELP; int main(int argc, const char **argv) { @@ -438,7 +441,7 @@ int main(int argc, const char **argv) diff_setup_opt |= DIFF_SETUP_REVERSE; continue; } - if (!strcmp(arg, "-p")) { + if (!strcmp(arg, "-p") || !strcmp(arg, "-u")) { diff_output_format = DIFF_FORMAT_PATCH; recursive = 1; continue; @@ -480,8 +483,12 @@ int main(int argc, const char **argv) find_copies_harder = 1; continue; } + if (!strcmp(arg, "--name-only")) { + diff_output_format = DIFF_FORMAT_NAME; + continue; + } if (!strcmp(arg, "-z")) { - diff_output_format = DIFF_FORMAT_MACHINE; + diff_line_termination = 0; continue; } if (!strcmp(arg, "-m")) {