Re: [bug] generic issue with git_config handlers
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Feb 5, 2008, 00:03 UTC
- Message-ID
- <7vk5lki815.fsf@gitster.siamese.dyndns.org>
- In-Reply-To
- <200802050013.20335.chriscool@tuxfamily.org>
Christian Couder <chriscool@tuxfamily.org> writes:
Show 5 quoted lines
> Very unfortunate. > > I finally had the following patch that passed all tests (it changed only one > test), in case someone wants to suggest that we change git_config_bool, > hint, hint!
Sorry, I do not get what you are hinting at. The fact that you passed all the tests suggests that we have a gap in the test coverage for these two, so you are inviting more tests from others?
Show 14 quoted lines
> diff --git a/config.c b/config.c
> index 526a3f4..a2c7214 100644
> --- a/config.c
> +++ b/config.c
> @@ -131,7 +131,7 @@ static int get_value(config_fn_t fn, char *name,
> unsigned in
> while (c == ' ' || c == '\t')
> c = get_next_char();
>
> - value = NULL;
> + value = "";
> if (c != '\n') {
> if (c != '=')
> return -1;As long as you have this, I do not think you can avoid breaking existing repositories that have:
[core]
autocrlf
filemode =and expect git to say "Ah, core.autocrlf is set to true, and filemode is not trustable, so I need to do a MS-DOG".
$ git config --bool core.autocrlf
true
$ git config --bool core.filemode
falseYour "builtin-config.c" patch looks better than before (which would segfault), but I think
$ git config --bool --list
could pay attention to the "type" thing set earlier, just like show_config() does.