最近裝了 3 次 Git + Gitweb + Gitolite ,最後就順手稍微修改 Gitweb 。由於 Gitolite 可以 remote create repos ,因此想要讓 Gitweb 顯示誰建立了 repo 。而 Gitolite 會在 repo 中建立一個 gl-creator 檔案記錄誰建立的,所以只需修改 Gitweb 顯示 owner 的片段程式即可。
目前用的 gitweb 版本:
$ sudo dpkg -l | grep gitweb
ii gitweb 1:1.7.9.5-1 fast, scalable, distributed revision control system (web interface)
修改片段:
$ sudo vim /usr/share/gitweb/index.cgi
sub git_get_project_owner {
my $project = shift;
my $owner;
return undef unless $project;
$git_dir = "$projectroot/$project";
if (!defined $gitweb_project_owner) {
git_get_project_list_from_file();
}
if (exists $gitweb_project_owner->{$project}) {
$owner = $gitweb_project_owner->{$project};
}
if (!defined $owner){
$owner = git_get_project_config('owner');
}
if (!defined $owner) {
if( open(GLCreator, "$git_dir/gl-creator" ) ) {
$owner = '';
while(<GLCreator>) {
$owner .= $_;
}
close(GLCreator);
}
}
if (!defined $owner) {
$owner = get_file_owner("$git_dir");
}
return $owner;
}
沒有留言:
張貼留言