diff-parseopt: convert -D|--irreversible-delete
authorNguyễn Thái Ngọc Duy <pclouds@gmail.com>
Thu, 21 Feb 2019 11:16:15 +0000 (18:16 +0700)
committerJunio C Hamano <gitster@pobox.com>
Thu, 21 Feb 2019 23:16:59 +0000 (15:16 -0800)
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
diff.c
diff --git a/diff.c b/diff.c
index 2c904e0526d52437677b6d965b02d400c94c8062..e51f6b3005cfe49af6f514fb52e7bf76efb1d3e6 100644 (file)
--- a/diff.c
+++ b/diff.c
@@ -5060,6 +5060,9 @@ static void prep_parse_options(struct diff_options *options)
                               N_("detect renames"),
                               PARSE_OPT_NONEG | PARSE_OPT_OPTARG,
                               diff_opt_find_renames),
+               OPT_SET_INT_F('D', "irreversible-delete", &options->irreversible_delete,
+                             N_("omit the preimage for deletes"),
+                             1, PARSE_OPT_NONEG),
 
                OPT_GROUP(N_("Diff other options")),
                { OPTION_CALLBACK, 0, "output", options, N_("<file>"),
@@ -5094,10 +5097,7 @@ int diff_opt_parse(struct diff_options *options,
                return ac;
 
        /* renames options */
-       if (!strcmp(arg, "-D") || !strcmp(arg, "--irreversible-delete")) {
-               options->irreversible_delete = 1;
-       }
-       else if (starts_with(arg, "-C") ||
+       if (starts_with(arg, "-C") ||
                 skip_to_optional_arg(arg, "--find-copies", NULL)) {
                if (options->detect_rename == DIFF_DETECT_COPY)
                        options->flags.find_copies_harder = 1;