gitweb 1.7.1语法高亮显示centos6不起作用

时间:2013-10-13 06:34:50

标签: git centos6 gitweb

我无法使用gitweb进行语法高亮显示。我已经被困在这几天了,感谢任何帮助。我已经做了很多研究并尝试了很多东西,但似乎没有任何效果。我能够在没有语法高亮的情况下查看gitweb。

# cat /etc/centos-release
  CentOS release 6.4 (Final)

# rpm -qa | grep highlight
  highlight-3.8-1.el6.x86_64

# rpm -qa | grep gitweb
  gitweb-1.7.1-3.el6_4.1.noarch

# rpm -qa | grep git
  git-1.7.1-3.el6_4.1.x86_64

/etc/httpd/conf.d/git.conf

Alias /git /var/www/git

# Suexec setup
SuexecUserGroup gitolite gitolite


# Set up appropriate GIT environments
SetEnv GIT_PROJECT_ROOT /var/lib/gitolite/repositories
SetEnv GIT_HTTP_EXPORT_ALL

# Set up appropriate gitolite environment
SetEnv GITOLITE_HTTP_HOME /var/lib/gitolite

# To serve gitweb at the same url, use a ScriptAliasMatch to
# only those URLs that git http-backend can handle, and
# forward the rest to gitweb:
ScriptAliasMatch \
    "(?x)^/(.*/(HEAD | \
                    info/refs | \
                    objects/(info/[^/]+ | \
                             [0-9a-f]{2}/[0-9a-f]{38} | \
                             pack/pack-[0-9a-f]{40}\.(pack|idx)) | \
                    git-(upload|receive)-pack))$" \
    /var/www/cgi-bin/gitolite-suexec-wrapper.sh/$1

# Make sure we can execute gitweb okay
<Directory "/var/www/git">
        Options ExecCGI
        AllowOverride None
        AddHandler cgi-script .cgi
        DirectoryIndex gitweb.cgi
        Order allow,deny
        Allow from all
</Directory>

# We need gl-auth-command executable
<Directory "/var/www/cgi-bin">
    <Files "gitolite-suexec-wrapper.sh">
            Order allow,deny
            Allow from all
    </Files>
</Directory>

/etc/gitweb.conf

# cat /etc/gitweb.conf | grep highlight
  $highlight_bin = "/usr/bin/highlight";
  $feature{'highlight'}{'default'} = [1];

我还安装了kogakure gitweb主题。 https://github.com/kogakure/gitweb-theme

1 个答案:

答案 0 :(得分:1)

我最近遇到了同样的问题。

似乎CentOS 6.4使用了一个相当古老的Git版本(1.7.1),它不支持Gitweb的语法高亮显示。你已经正确完成了配置部分,但是Gitweb还不知道如何处理这些变量。

一种解决方案是从官方Git source repo开始,并从那里检索最新版本(1.8.5)。这要求您自己从源代码构建软件。

解决方法:

我不想构建整个东西,因此只是去那里获取最新的 gitweb.cgi 。此脚本通常由 gitweb.perl 构建,但也可以通过重命名并替换所有占位符(例如“++ GIT_BINDIR ++”)来手动创建,如README文件中所述。

这对我来说效果很好,但重建和安装(make&amp; make install)整个版本可能更安全,更稳定。