Merge branch 'jk/diff-algo' into maint
authorJunio C Hamano <gitster@pobox.com>
Mon, 28 Oct 2013 17:16:11 +0000 (10:16 -0700)
committerJunio C Hamano <gitster@pobox.com>
Mon, 28 Oct 2013 17:16:11 +0000 (10:16 -0700)
"git merge-recursive" did not parse its "--diff-algorithm=" command
line option correctly.

* jk/diff-algo:
merge-recursive: fix parsing of "diff-algorithm" option

1  2 
merge-recursive.c
diff --combined merge-recursive.c
index f95933b0aacce84a8b911634e5c40d5e937a322b,1cd511ba42261cc91b97b2897f8768fa4d76b622..fc2f00176c3082f2e1bb801e361b42c02fa3d5b8
@@@ -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);
  
        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 */