When a feature like "blame" is permitted to be overridden in the repository configuration but it is not actually set in the repository, a warning is emitted due to the undefined value of the repository configuration, even though it's a perfectly normal condition. The warning is grounds for test failure in the gitweb test script, so it causes some new feature tests of mine to fail. This patch prevents warning and adds a test case to exercise it. Signed-off-by: Marcel M. Cary <marcel@xxxxxxxxxxxxxxxx> --- Here's a small patch I put together while tinkering with bug hyperlinking. Does this look reasonable? Marcel gitweb/gitweb.perl | 8 +++++--- t/t9500-gitweb-standalone-no-errors.sh | 5 +++++ 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl index 7c48181..653f0be 100755 --- a/gitweb/gitweb.perl +++ b/gitweb/gitweb.perl @@ -402,13 +402,13 @@ sub feature_bool { my $key = shift; my ($val) = git_get_project_config($key, '--bool'); - if ($val eq 'true') { + if (!defined $val) { + return ($_[0]); + } elsif ($val eq 'true') { return (1); } elsif ($val eq 'false') { return (0); } - - return ($_[0]); } sub feature_snapshot { @@ -1978,6 +1978,8 @@ sub git_get_project_config { $config_file = "$git_dir/config"; } + return undef if (!defined $config{"gitweb.$key"}); + # ensure given type if (!defined $type) { return $config{"gitweb.$key"}; diff --git a/t/t9500-gitweb-standalone-no-errors.sh b/t/t9500-gitweb-standalone-no-errors.sh index 7c6f70b..559045e 100755 --- a/t/t9500-gitweb-standalone-no-errors.sh +++ b/t/t9500-gitweb-standalone-no-errors.sh @@ -662,6 +662,11 @@ cat >>gitweb_config.perl <<EOF EOF test_expect_success \ + 'config override: tree view, features not overridden in repo config' \ + 'gitweb_run "p=.git;a=tree"' +test_debug 'cat gitweb.log' + +test_expect_success \ 'config override: tree view, features disabled in repo config' \ 'git config gitweb.blame no && git config gitweb.snapshot none && -- 1.6.1 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html