我想为 gitolite 管理的所有存储库自动添加相同的配置值。我认为将以下内容添加到 gitolite.conf 就可以了:
repo @all
config hooks.mailinglist = me@example.org
尽管 gitolite 在我推送时没有抱怨,但 @all 配置项都不会添加到单个存储库中(尽管任何特定的都可以)。
gitolite 文档确实提到这只是“存储库特定”机制,这意味着似乎不支持存储库组。
实施似乎证实了这一点,因为实际git config
状态之前的评论:
重要提示:接下来的 3 个 subs (
setup_*
) 假设$PWD
是裸仓库本身
接下来是执行以下操作的函数git config
:
# ----------------------------------------------------------------------------
# set/unset git configs
# ----------------------------------------------------------------------------
sub setup_git_configs
{
my ($repo, $git_configs_p) = @_;
while ( my ($key, $value) = each(%{ $git_configs_p->{$repo} }) ) {
if ($value ne "") {
$value =~ s/^"(.*)"$/$1/;
system("git", "config", $key, $value);
} else {
system("git", "config", "--unset-all", $key);
}
}
}