зеркало из https://github.com/microsoft/git.git
Merge branch 'jk/userdiff-config-simplify'
* jk/userdiff-config-simplify: drop odd return value semantics from userdiff_config
This commit is contained in:
Коммит
63d37c3062
|
@ -2050,14 +2050,8 @@ static int git_blame_config(const char *var, const char *value, void *cb)
|
|||
return 0;
|
||||
}
|
||||
|
||||
switch (userdiff_config(var, value)) {
|
||||
case 0:
|
||||
break;
|
||||
case -1:
|
||||
if (userdiff_config(var, value) < 0)
|
||||
return -1;
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
|
||||
return git_default_config(var, value, cb);
|
||||
}
|
||||
|
|
|
@ -226,14 +226,8 @@ static const char * const cat_file_usage[] = {
|
|||
|
||||
static int git_cat_file_config(const char *var, const char *value, void *cb)
|
||||
{
|
||||
switch (userdiff_config(var, value)) {
|
||||
case 0:
|
||||
break;
|
||||
case -1:
|
||||
if (userdiff_config(var, value) < 0)
|
||||
return -1;
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
|
||||
return git_default_config(var, value, cb);
|
||||
}
|
||||
|
|
|
@ -325,11 +325,8 @@ static int grep_config(const char *var, const char *value, void *cb)
|
|||
struct grep_opt *opt = cb;
|
||||
char *color = NULL;
|
||||
|
||||
switch (userdiff_config(var, value)) {
|
||||
case 0: break;
|
||||
case -1: return -1;
|
||||
default: return 0;
|
||||
}
|
||||
if (userdiff_config(var, value) < 0)
|
||||
return -1;
|
||||
|
||||
if (!strcmp(var, "grep.extendedregexp")) {
|
||||
if (git_config_bool(var, value))
|
||||
|
|
7
diff.c
7
diff.c
|
@ -177,11 +177,8 @@ int git_diff_basic_config(const char *var, const char *value, void *cb)
|
|||
return 0;
|
||||
}
|
||||
|
||||
switch (userdiff_config(var, value)) {
|
||||
case 0: break;
|
||||
case -1: return -1;
|
||||
default: return 0;
|
||||
}
|
||||
if (userdiff_config(var, value) < 0)
|
||||
return -1;
|
||||
|
||||
if (!prefixcmp(var, "diff.color.") || !prefixcmp(var, "color.diff.")) {
|
||||
int slot = parse_diff_color_slot(var, 11);
|
||||
|
|
19
userdiff.c
19
userdiff.c
|
@ -210,14 +210,7 @@ static int parse_funcname(struct userdiff_funcname *f, const char *k,
|
|||
if (git_config_string(&f->pattern, k, v) < 0)
|
||||
return -1;
|
||||
f->cflags = cflags;
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int parse_string(const char **d, const char *k, const char *v)
|
||||
{
|
||||
if (git_config_string(d, k, v) < 0)
|
||||
return -1;
|
||||
return 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int parse_tristate(int *b, const char *k, const char *v)
|
||||
|
@ -226,13 +219,13 @@ static int parse_tristate(int *b, const char *k, const char *v)
|
|||
*b = -1;
|
||||
else
|
||||
*b = git_config_bool(k, v);
|
||||
return 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int parse_bool(int *b, const char *k, const char *v)
|
||||
{
|
||||
*b = git_config_bool(k, v);
|
||||
return 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int userdiff_config(const char *k, const char *v)
|
||||
|
@ -246,13 +239,13 @@ int userdiff_config(const char *k, const char *v)
|
|||
if ((drv = parse_driver(k, v, "binary")))
|
||||
return parse_tristate(&drv->binary, k, v);
|
||||
if ((drv = parse_driver(k, v, "command")))
|
||||
return parse_string(&drv->external, k, v);
|
||||
return git_config_string(&drv->external, k, v);
|
||||
if ((drv = parse_driver(k, v, "textconv")))
|
||||
return parse_string(&drv->textconv, k, v);
|
||||
return git_config_string(&drv->textconv, k, v);
|
||||
if ((drv = parse_driver(k, v, "cachetextconv")))
|
||||
return parse_bool(&drv->textconv_want_cache, k, v);
|
||||
if ((drv = parse_driver(k, v, "wordregex")))
|
||||
return parse_string(&drv->word_regex, k, v);
|
||||
return git_config_string(&drv->word_regex, k, v);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче