compile: support "include" definition
Support config file including using: include "filename" If filename is not an absolute path, it is looked from the $GL_ADMINDIR/conf/ directory. For security reasons include is not allowed for fragments. Signed-off-by: Teemu Matilainen <teemu.matilainen@reaktor.fi>
This commit is contained in:
parent
839027f7a7
commit
6c38e30e9a
|
@ -264,6 +264,16 @@ sub parse_conf_file
|
||||||
$repo_config{$repo}{$key} = $value;
|
$repo_config{$repo}{$key} = $value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
# include
|
||||||
|
elsif (/^include "(.+)"/)
|
||||||
|
{
|
||||||
|
my $file = $1;
|
||||||
|
$file = "$GL_ADMINDIR/conf/$file" unless $file =~ /^\//;
|
||||||
|
die "$WARN $fragment attempting to include configuration\n" if $fragment ne 'master';
|
||||||
|
die "$ABRT included file not found: '$file'\n" unless -f $file;
|
||||||
|
|
||||||
|
parse_conf_file($file, $fragment);
|
||||||
|
}
|
||||||
# very simple syntax for the gitweb description of repo; one of:
|
# very simple syntax for the gitweb description of repo; one of:
|
||||||
# reponame = "some description string"
|
# reponame = "some description string"
|
||||||
# reponame "owner name" = "some description string"
|
# reponame "owner name" = "some description string"
|
||||||
|
|
Loading…
Reference in a new issue