mirror of
https://github.com/git/git.git
synced 2024-10-28 12:59:41 +01:00
Merge branch 'jk/maint-decorate-01-bool'
* jk/maint-decorate-01-bool: log.decorate: accept 0/1 bool values
This commit is contained in:
commit
5e826019ef
2 changed files with 23 additions and 2 deletions
16
config.c
16
config.c
|
@ -410,7 +410,7 @@ unsigned long git_config_ulong(const char *name, const char *value)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
int git_config_maybe_bool(const char *name, const char *value)
|
static int git_config_maybe_bool_text(const char *name, const char *value)
|
||||||
{
|
{
|
||||||
if (!value)
|
if (!value)
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -427,9 +427,21 @@ int git_config_maybe_bool(const char *name, const char *value)
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int git_config_maybe_bool(const char *name, const char *value)
|
||||||
|
{
|
||||||
|
int v = git_config_maybe_bool_text(name, value);
|
||||||
|
if (0 <= v)
|
||||||
|
return v;
|
||||||
|
if (!strcmp(value, "0"))
|
||||||
|
return 0;
|
||||||
|
if (!strcmp(value, "1"))
|
||||||
|
return 1;
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
int git_config_bool_or_int(const char *name, const char *value, int *is_bool)
|
int git_config_bool_or_int(const char *name, const char *value, int *is_bool)
|
||||||
{
|
{
|
||||||
int v = git_config_maybe_bool(name, value);
|
int v = git_config_maybe_bool_text(name, value);
|
||||||
if (0 <= v) {
|
if (0 <= v) {
|
||||||
*is_bool = 1;
|
*is_bool = 1;
|
||||||
return v;
|
return v;
|
||||||
|
|
|
@ -421,6 +421,15 @@ test_expect_success 'log.decorate configuration' '
|
||||||
git log --oneline --decorate=full >actual &&
|
git log --oneline --decorate=full >actual &&
|
||||||
test_cmp expect.full actual &&
|
test_cmp expect.full actual &&
|
||||||
|
|
||||||
|
git config --unset-all log.decorate &&
|
||||||
|
git config log.decorate 1 &&
|
||||||
|
git log --oneline >actual &&
|
||||||
|
test_cmp expect.short actual &&
|
||||||
|
git log --oneline --decorate=full >actual &&
|
||||||
|
test_cmp expect.full actual &&
|
||||||
|
git log --oneline --decorate=no >actual &&
|
||||||
|
test_cmp expect.none actual &&
|
||||||
|
|
||||||
git config --unset-all log.decorate &&
|
git config --unset-all log.decorate &&
|
||||||
git config log.decorate short &&
|
git config log.decorate short &&
|
||||||
git log --oneline >actual &&
|
git log --oneline >actual &&
|
||||||
|
|
Loading…
Reference in a new issue