Example #1
0
static void add_strategies(const char *string, unsigned attr)
{
	struct strategy *list = NULL;
	int list_alloc = 0, list_nr = 0, i;

	memset(&list, 0, sizeof(list));
	split_merge_strategies(string, &list, &list_nr, &list_alloc);
	if (list) {
		for (i = 0; i < list_nr; i++)
			append_strategy(get_strategy(list[i].name));
		return;
	}
	for (i = 0; i < ARRAY_SIZE(all_strategy); i++)
		if (all_strategy[i].attr & attr)
			append_strategy(&all_strategy[i]);

}
Example #2
0
static int option_parse_strategy(const struct option *opt,
				 const char *name, int unset)
{
	if (unset)
		return 0;

	append_strategy(get_strategy(name));
	return 0;
}
Example #3
0
static int option_parse_strategy(const struct option *opt,
				 const char *name, int unset)
{
	int i;
	struct strategy *s;

	if (unset)
		return 0;

	s = get_strategy(name);

	if (s)
		append_strategy(s);
	else {
		struct strbuf err;
		strbuf_init(&err, 0);
		for (i = 0; i < ARRAY_SIZE(all_strategy); i++)
			strbuf_addf(&err, " %s", all_strategy[i].name);
		fprintf(stderr, "Could not find merge strategy '%s'.\n", name);
		fprintf(stderr, "Available strategies are:%s.\n", err.buf);
		exit(1);
	}
	return 0;
}