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;