Junio C Hamano <gits...@pobox.com> writes:

> Michal Privoznik <mpriv...@redhat.com> writes:
> ...
>> diff --git a/merge-recursive.c b/merge-recursive.c
>> index d882060..53d8feb 100644
>> --- a/merge-recursive.c
>> +++ b/merge-recursive.c
>> @@ -2068,6 +2068,12 @@ int parse_merge_opt(struct merge_options *o, const 
>> char *s)
>>              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);
>> +            if (value < 0)
>> +                    return -1;
>> +            o->xdl_opts |= value;
>
> Isn't this new hunk wrong?  DIFF_WITH_ALG() removes the previously
> chosen algorithm choice before OR'ing the new one in, so that
>
>       diff --histogram --patience
>
> would not end up with a value PATIENCE|HISTOGRAM OR'ed together in
> the algo field.

I misspoke; this is not "diff", but "merge-recursive".  The issue
may be the same here, though.
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to