+ if (!strcmp(arg, "-t")) {
+ recursive = show_tree_entry_in_recursive = 1;
+ continue;
+ }
+ if (!strcmp(arg, "-R")) {
+ diff_setup_opt |= DIFF_SETUP_REVERSE;
+ continue;
+ }
+ if (!strcmp(arg, "-p") || !strcmp(arg, "-u")) {
+ diff_output_format = DIFF_FORMAT_PATCH;
+ recursive = 1;
+ continue;
+ }
+ if (!strncmp(arg, "-S", 2)) {
+ pickaxe = arg + 2;
+ continue;
+ }
+ if (!strncmp(arg, "-O", 2)) {
+ orderfile = arg + 2;
+ continue;
+ }
+ if (!strncmp(arg, "--diff-filter=", 14)) {
+ diff_filter = arg + 14;
+ continue;
+ }
+ if (!strcmp(arg, "--pickaxe-all")) {
+ pickaxe_opts = DIFF_PICKAXE_ALL;
+ continue;
+ }
+ if (!strncmp(arg, "-M", 2)) {
+ detect_rename = DIFF_DETECT_RENAME;
+ if ((diff_score_opt = diff_scoreopt_parse(arg)) == -1)
+ usage(diff_tree_usage);
+ continue;
+ }
+ if (!strncmp(arg, "-C", 2)) {
+ detect_rename = DIFF_DETECT_COPY;
+ if ((diff_score_opt = diff_scoreopt_parse(arg)) == -1)
+ usage(diff_tree_usage);
+ continue;
+ }
+ if (!strncmp(arg, "-B", 2)) {
+ if ((diff_break_opt = diff_scoreopt_parse(arg)) == -1)
+ usage(diff_tree_usage);
+ continue;
+ }
+ if (!strcmp(arg, "--find-copies-harder")) {
+ find_copies_harder = 1;
+ continue;
+ }
+ if (!strcmp(arg, "--name-only")) {
+ diff_output_format = DIFF_FORMAT_NAME;