const char *name;
const char *description;
ll_merge_fn fn;
+ const char *recursive;
struct ll_merge_driver *next;
char *cmdline;
};
return 0;
}
+ if (!strcmp("recursive", ep)) {
+ if (!value)
+ return error("%s: lacks value", var);
+ fn->recursive = strdup(value);
+ return 0;
+ }
+
return 0;
}
merge_attr = git_path_check_merge(a->path);
driver = find_ll_merge_driver(merge_attr);
+ if (index_only && driver->recursive) {
+ merge_attr = git_attr(driver->recursive, strlen(driver->recursive));
+ driver = find_ll_merge_driver(merge_attr);
+ }
merge_status = driver->fn(driver, a->path,
&orig, &src1, name1, &src2, name2,
result_buf);