Skip to content

Commit 7bf040c

Browse files
committed
Merge branch 'jk/maint-decorate-01-bool' into maint
* jk/maint-decorate-01-bool: log.decorate: accept 0/1 bool values
2 parents aa78384 + b2be2f6 commit 7bf040c

File tree

2 files changed

+23
-2
lines changed

2 files changed

+23
-2
lines changed

config.c

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -410,7 +410,7 @@ unsigned long git_config_ulong(const char *name, const char *value)
410410
return ret;
411411
}
412412

413-
int git_config_maybe_bool(const char *name, const char *value)
413+
static int git_config_maybe_bool_text(const char *name, const char *value)
414414
{
415415
if (!value)
416416
return 1;
@@ -427,9 +427,21 @@ int git_config_maybe_bool(const char *name, const char *value)
427427
return -1;
428428
}
429429

430+
int git_config_maybe_bool(const char *name, const char *value)
431+
{
432+
int v = git_config_maybe_bool_text(name, value);
433+
if (0 <= v)
434+
return v;
435+
if (!strcmp(value, "0"))
436+
return 0;
437+
if (!strcmp(value, "1"))
438+
return 1;
439+
return -1;
440+
}
441+
430442
int git_config_bool_or_int(const char *name, const char *value, int *is_bool)
431443
{
432-
int v = git_config_maybe_bool(name, value);
444+
int v = git_config_maybe_bool_text(name, value);
433445
if (0 <= v) {
434446
*is_bool = 1;
435447
return v;

t/t4202-log.sh

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -421,6 +421,15 @@ test_expect_success 'log.decorate configuration' '
421421
git log --oneline --decorate=full >actual &&
422422
test_cmp expect.full actual &&
423423
424+
git config --unset-all log.decorate &&
425+
git config log.decorate 1 &&
426+
git log --oneline >actual &&
427+
test_cmp expect.short actual &&
428+
git log --oneline --decorate=full >actual &&
429+
test_cmp expect.full actual &&
430+
git log --oneline --decorate=no >actual &&
431+
test_cmp expect.none actual &&
432+
424433
git config --unset-all log.decorate &&
425434
git config log.decorate short &&
426435
git log --oneline >actual &&

0 commit comments

Comments
 (0)