Browse Source

Merge branch 'jk/maint-decorate-01-bool'

* jk/maint-decorate-01-bool:
  log.decorate: accept 0/1 bool values
maint
Junio C Hamano 14 years ago
parent
commit
5e826019ef
  1. 16
      config.c
  2. 9
      t/t4202-log.sh

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;

9
t/t4202-log.sh

@ -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…
Cancel
Save