aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAvery Pennarun <apenwarr@gmail.com>2009-11-25 21:23:54 -0500
committerJunio C Hamano <gitster@pobox.com>2009-11-29 18:49:11 -0800
commited87465658c83a5a1617920e7b605bd830a78aed (patch)
treedab8c5958dc5075182409f9385def978b7968b2b
parent78d553b7d7b269bb22ebd8b1198657c37484a3a0 (diff)
downloadgit-ed87465658c83a5a1617920e7b605bd830a78aed.tar.gz
git-ed87465658c83a5a1617920e7b605bd830a78aed.tar.xz
builtin-merge.c: call exclude_cmds() correctly.
We need to call exclude_cmds() after the loop, not during the loop, because excluding a command from the array can change the indexes of objects in the array. The result is that, depending on file ordering, some commands weren't excluded as they should have been. Signed-off-by: Avery Pennarun <apenwarr@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--builtin-merge.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/builtin-merge.c b/builtin-merge.c
index b6b84286b..4bcf7c7bc 100644
--- a/builtin-merge.c
+++ b/builtin-merge.c
@@ -106,8 +106,8 @@ static struct strategy *get_strategy(const char *name)
found = 1;
if (!found)
add_cmdname(&not_strategies, ent->name, ent->len);
- exclude_cmds(&main_cmds, &not_strategies);
}
+ exclude_cmds(&main_cmds, &not_strategies);
}
if (!is_in_cmdlist(&main_cmds, name) && !is_in_cmdlist(&other_cmds, name)) {
fprintf(stderr, "Could not find merge strategy '%s'.\n", name);