Michal Privoznik <mprivozn@xxxxxxxxxx> writes: > +static long parse_algorithm_value(const char *value) > +{ > + if (!value || !strcasecmp(value, "myers")) > + return 0; [diff] algorithm should probably error out. Also it is rather unusual to parse the keyword values case insensitively. > + else if (!strcasecmp(value, "minimal")) > + return XDF_NEED_MINIMAL; > + else if (!strcasecmp(value, "patience")) > + return XDF_PATIENCE_DIFF; > + else if (!strcasecmp(value, "histogram")) > + return XDF_HISTOGRAM_DIFF; > + else > + return -1; > +} > + > /* > * These are to give UI layer defaults. > * The core-level commands such as git-diff-files should > @@ -196,6 +211,13 @@ int git_diff_ui_config(const char *var, const char *value, void *cb) > return 0; > } > > + if (!strcmp(var, "diff.algorithm")) { > + diff_algorithm = parse_algorithm_value(value); > + if (diff_algorithm < 0) > + return -1; > + return 0; > + } > + > if (git_color_config(var, value, cb) < 0) > return -1; > > @@ -3213,6 +3235,7 @@ void diff_setup(struct diff_options *options) > options->add_remove = diff_addremove; > options->use_color = diff_use_color_default; > options->detect_rename = diff_detect_rename_default; > + options->xdl_opts |= diff_algorithm; > > if (diff_no_prefix) { > options->a_prefix = options->b_prefix = ""; -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html