27.3.2 Gitweb的配置
编辑/etc/gitweb.conf,更改Gitweb的默认设置:
版本库的根目录。
$projectroot="/var/cache/git";
设置版本库访问URL。
Gitweb可以为每个版本库显示克隆该版本库的URL地址,可以设置多个。
@git_base_url_list=("git://bj.ossxp.com/git","http://bj.ossxp.com/git");
设置首页模板文件。该文件为HTML格式,其内容将显示在首页上。如果使用相对路径,则相对于CGI脚本所在的目录。
$home_text="indextext.html";
定制首页模板。下面是我公司内部使用的Gitweb首页模板。
<html>
<head>
</head>
<body>
<h2>北京群英汇信息技术有限公司-git代码库</h2>
<ul>
<li>点击版本库,进入相应的版本库页面,有URL指向一个git://…的检出链接</li>
<li>使用命令git clone git://…来克隆一个版本库</li>
<li>对于名称中含有<i>-gitsvn</i>字样的代码库,是用git-svn从svn代码库镜像而来的。
对于它们的镜像,需要做进一步的工作。
<ul>
<li>要将git库的远程分支(.git/ref/remotes/*)也同步到本地!
<pre>
$git config—add remote.origin.fetch '+refs/remotes/:refs/remotes/'
$git fetch
</pre>
</li>
<li>如果需要克隆库和Subversion同步。用git-svn初始化代码库,并使得相关配置和源保持一致</li>
</ul>
</li>
</ul>
</body>
</html>
版本库列表。
默认扫描版本库根目录查找版本库。如果版本库非常多,这个查找过程可能很耗时,可以提供一个文本文件包含版本库的列表加速Gitweb显示初始化。
$projects_list="/home/git/gitosis/projects.list";
后面介绍的Gitosis和Gitolite都可以自动生成这么一个版本库列表,供Gitweb使用。
Gitweb菜单定制。
Git菜单定制项很多,下面选取几个典型配置进行介绍。
〇在tree view文件的旁边显示追溯(blame)链接。
$feature{'blame'}{'default'}=[1];
$feature{'blame'}{'override'}=1;
〇通过版本库的配置文件config对版本库在Gitweb中是否显示追溯进行单独设置。
下面的设置覆盖Gitweb的全局设置,不对该项目显示blame菜单。
[gitweb]
blame=0
〇为每个tree添加快照(snapshot)下载链接。
$feature{'snapshot'}{'default'}=['zip','tgz'];
$feature{'snapshot'}{'override'}=1;