From 150a5daad0095d06d38eadefdde4703fa3cca3e5 Mon Sep 17 00:00:00 2001 From: Kevin Ballard Date: Mon, 29 Nov 2010 14:52:59 -0800 Subject: [PATCH 1/2] diff: add --detect-copies-harder as a synonym for --find-copies-harder Signed-off-by: Kevin Ballard Signed-off-by: Junio C Hamano --- Documentation/diff-options.txt | 1 + diff.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/Documentation/diff-options.txt b/Documentation/diff-options.txt index f3e95389aa..7246e10d3e 100644 --- a/Documentation/diff-options.txt +++ b/Documentation/diff-options.txt @@ -251,6 +251,7 @@ endif::git-log[] If `n` is specified, it has the same meaning as for `-M`. --find-copies-harder:: +--detect-copies-harder:: For performance reasons, by default, `-C` option finds copies only if the original file of the copy was modified in the same changeset. This flag makes the command diff --git a/diff.c b/diff.c index c248bc64c5..dee0bd8f4e 100644 --- a/diff.c +++ b/diff.c @@ -3194,7 +3194,7 @@ int diff_opt_parse(struct diff_options *options, const char **av, int ac) DIFF_OPT_SET(options, TEXT); else if (!strcmp(arg, "-R")) DIFF_OPT_SET(options, REVERSE_DIFF); - else if (!strcmp(arg, "--find-copies-harder")) + else if (!strcmp(arg, "--find-copies-harder") || !strcmp(arg, "--detect-copies-harder")) DIFF_OPT_SET(options, FIND_COPIES_HARDER); else if (!strcmp(arg, "--follow")) DIFF_OPT_SET(options, FOLLOW_RENAMES); From f611ddc774b58864b1f0b02962c524683a2f6c59 Mon Sep 17 00:00:00 2001 From: Yann Dirson Date: Wed, 10 Nov 2010 21:27:12 +0100 Subject: [PATCH 2/2] diff: use "find" instead of "detect" as prefix for long forms of -M and -C It is more consistent with existing --find-copies-harder; luckily "detect" variant has not appeared in any officially released version of git. Signed-off-by: Yann Dirson Signed-off-by: Junio C Hamano --- Documentation/diff-options.txt | 5 ++--- diff.c | 18 +++++++++--------- 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/Documentation/diff-options.txt b/Documentation/diff-options.txt index 7246e10d3e..c93124be79 100644 --- a/Documentation/diff-options.txt +++ b/Documentation/diff-options.txt @@ -230,7 +230,7 @@ eligible for being picked up as a possible source of a rename to another file. -M[]:: ---detect-renames[=]:: +--find-renames[=]:: ifndef::git-log[] Detect renames. endif::git-log[] @@ -246,12 +246,11 @@ endif::git-log[] hasn't changed. -C[]:: ---detect-copies[=]:: +--find-copies[=]:: Detect copies as well as renames. See also `--find-copies-harder`. If `n` is specified, it has the same meaning as for `-M`. --find-copies-harder:: ---detect-copies-harder:: For performance reasons, by default, `-C` option finds copies only if the original file of the copy was modified in the same changeset. This flag makes the command diff --git a/diff.c b/diff.c index dee0bd8f4e..b5ef1ec55e 100644 --- a/diff.c +++ b/diff.c @@ -3150,14 +3150,14 @@ int diff_opt_parse(struct diff_options *options, const char **av, int ac) if ((options->break_opt = diff_scoreopt_parse(arg)) == -1) return -1; } - else if (!prefixcmp(arg, "-M") || !prefixcmp(arg, "--detect-renames=") || - !strcmp(arg, "--detect-renames")) { + else if (!prefixcmp(arg, "-M") || !prefixcmp(arg, "--find-renames=") || + !strcmp(arg, "--find-renames")) { if ((options->rename_score = diff_scoreopt_parse(arg)) == -1) return -1; options->detect_rename = DIFF_DETECT_RENAME; } - else if (!prefixcmp(arg, "-C") || !prefixcmp(arg, "--detect-copies=") || - !strcmp(arg, "--detect-copies")) { + else if (!prefixcmp(arg, "-C") || !prefixcmp(arg, "--find-copies=") || + !strcmp(arg, "--find-copies")) { if (options->detect_rename == DIFF_DETECT_COPY) DIFF_OPT_SET(options, FIND_COPIES_HARDER); if ((options->rename_score = diff_scoreopt_parse(arg)) == -1) @@ -3194,7 +3194,7 @@ int diff_opt_parse(struct diff_options *options, const char **av, int ac) DIFF_OPT_SET(options, TEXT); else if (!strcmp(arg, "-R")) DIFF_OPT_SET(options, REVERSE_DIFF); - else if (!strcmp(arg, "--find-copies-harder") || !strcmp(arg, "--detect-copies-harder")) + else if (!strcmp(arg, "--find-copies-harder")) DIFF_OPT_SET(options, FIND_COPIES_HARDER); else if (!strcmp(arg, "--follow")) DIFF_OPT_SET(options, FOLLOW_RENAMES); @@ -3380,12 +3380,12 @@ static int diff_scoreopt_parse(const char *opt) opt += strlen("break-rewrites"); if (*opt == 0 || *opt++ == '=') cmd = 'B'; - } else if (!prefixcmp(opt, "detect-copies")) { - opt += strlen("detect-copies"); + } else if (!prefixcmp(opt, "find-copies")) { + opt += strlen("find-copies"); if (*opt == 0 || *opt++ == '=') cmd = 'C'; - } else if (!prefixcmp(opt, "detect-renames")) { - opt += strlen("detect-renames"); + } else if (!prefixcmp(opt, "find-renames")) { + opt += strlen("find-renames"); if (*opt == 0 || *opt++ == '=') cmd = 'M'; }