Commit 628e92cd by Ben Straub

Don't use weird return codes

parent c56c6d69
...@@ -293,8 +293,9 @@ static int normalize_find_opts( ...@@ -293,8 +293,9 @@ static int normalize_find_opts(
if (git_config_get_string(&val, cfg, "diff.renames") < 0) if (git_config_get_string(&val, cfg, "diff.renames") < 0)
giterr_clear(); giterr_clear();
else if (val) { else if (val) {
if (!strcasecmp(val, "false")) int boolval;
return GIT_PASSTHROUGH; if (!git__parse_bool(&boolval, val) && !boolval)
opts->flags = 0;
else if (!strcasecmp(val, "copies") || !strcasecmp(val, "copy")) else if (!strcasecmp(val, "copies") || !strcasecmp(val, "copy"))
opts->flags = GIT_DIFF_FIND_RENAMES | GIT_DIFF_FIND_COPIES; opts->flags = GIT_DIFF_FIND_RENAMES | GIT_DIFF_FIND_COPIES;
else else
...@@ -834,7 +835,11 @@ int git_diff_find_similar( ...@@ -834,7 +835,11 @@ int git_diff_find_similar(
git_diff_file swap; git_diff_file swap;
if ((error = normalize_find_opts(diff, &opts, given_opts)) < 0) if ((error = normalize_find_opts(diff, &opts, given_opts)) < 0)
return (error == GIT_PASSTHROUGH) ? 0 : error; return error;
/* No flags set; nothing to do */
if ((opts.flags & GIT_DIFF_FIND_ALL) == 0)
return 0;
num_deltas = diff->deltas.length; num_deltas = diff->deltas.length;
......
...@@ -919,6 +919,7 @@ void test_diff_rename__rejected_match_can_match_others(void) ...@@ -919,6 +919,7 @@ void test_diff_rename__rejected_match_can_match_others(void)
char *ptr; char *ptr;
opts.checkout_strategy = GIT_CHECKOUT_FORCE; opts.checkout_strategy = GIT_CHECKOUT_FORCE;
findopts.flags = GIT_DIFF_FIND_RENAMES;
cl_git_pass(git_reference_lookup(&head, g_repo, "HEAD")); cl_git_pass(git_reference_lookup(&head, g_repo, "HEAD"));
cl_git_pass(git_reference_symbolic_set_target( cl_git_pass(git_reference_symbolic_set_target(
...@@ -1003,6 +1004,7 @@ void test_diff_rename__rejected_match_can_match_others_two(void) ...@@ -1003,6 +1004,7 @@ void test_diff_rename__rejected_match_can_match_others_two(void)
struct rename_expected expect = { 2, status, sources, targets }; struct rename_expected expect = { 2, status, sources, targets };
opts.checkout_strategy = GIT_CHECKOUT_FORCE; opts.checkout_strategy = GIT_CHECKOUT_FORCE;
findopts.flags = GIT_DIFF_FIND_RENAMES;
cl_git_pass(git_reference_lookup(&head, g_repo, "HEAD")); cl_git_pass(git_reference_lookup(&head, g_repo, "HEAD"));
cl_git_pass(git_reference_symbolic_set_target( cl_git_pass(git_reference_symbolic_set_target(
...@@ -1060,6 +1062,7 @@ void test_diff_rename__rejected_match_can_match_others_three(void) ...@@ -1060,6 +1062,7 @@ void test_diff_rename__rejected_match_can_match_others_three(void)
struct rename_expected expect = { 2, status, sources, targets }; struct rename_expected expect = { 2, status, sources, targets };
opts.checkout_strategy = GIT_CHECKOUT_FORCE; opts.checkout_strategy = GIT_CHECKOUT_FORCE;
findopts.flags = GIT_DIFF_FIND_RENAMES;
cl_git_pass(git_reference_lookup(&head, g_repo, "HEAD")); cl_git_pass(git_reference_lookup(&head, g_repo, "HEAD"));
cl_git_pass(git_reference_symbolic_set_target( cl_git_pass(git_reference_symbolic_set_target(
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment