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;