From: Junio C Hamano Date: Mon, 28 Oct 2013 17:16:11 +0000 (-0700) Subject: Merge branch 'jk/diff-algo' into maint X-Git-Tag: v1.8.4.2~4 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/b28325d3ab0172063d1fbe0e735d899ae43c6fee?ds=inline;hp=-c Merge branch 'jk/diff-algo' into maint "git merge-recursive" did not parse its "--diff-algorithm=" command line option correctly. * jk/diff-algo: merge-recursive: fix parsing of "diff-algorithm" option --- b28325d3ab0172063d1fbe0e735d899ae43c6fee diff --combined merge-recursive.c index f95933b0aa,1cd511ba42..fc2f00176c --- a/merge-recursive.c +++ b/merge-recursive.c @@@ -251,7 -251,7 +251,7 @@@ struct tree *write_tree_from_memory(str int i; fprintf(stderr, "BUG: There are unmerged index entries:\n"); for (i = 0; i < active_nr; i++) { - struct cache_entry *ce = active_cache[i]; + const struct cache_entry *ce = active_cache[i]; if (ce_stage(ce)) fprintf(stderr, "BUG: %d %.*s\n", ce_stage(ce), (int)ce_namelen(ce), ce->name); @@@ -264,8 -264,7 +264,8 @@@ if (!cache_tree_fully_valid(active_cache_tree) && cache_tree_update(active_cache_tree, - active_cache, active_nr, 0) < 0) + (const struct cache_entry * const *)active_cache, + active_nr, 0) < 0) die(_("error building trees")); result = lookup_tree(active_cache_tree->sha1); @@@ -340,7 -339,7 +340,7 @@@ static struct string_list *get_unmerged for (i = 0; i < active_nr; i++) { struct string_list_item *item; struct stage_data *e; - struct cache_entry *ce = active_cache[i]; + const struct cache_entry *ce = active_cache[i]; if (!ce_stage(ce)) continue; @@@ -2069,8 -2068,8 +2069,8 @@@ int parse_merge_opt(struct merge_option o->xdl_opts = DIFF_WITH_ALG(o, PATIENCE_DIFF); else if (!strcmp(s, "histogram")) o->xdl_opts = DIFF_WITH_ALG(o, HISTOGRAM_DIFF); - else if (!strcmp(s, "diff-algorithm=")) { - long value = parse_algorithm_value(s+15); + else if (!prefixcmp(s, "diff-algorithm=")) { + long value = parse_algorithm_value(s + strlen("diff-algorithm=")); if (value < 0) return -1; /* clear out previous settings */