6

我已经设置并配置gitolite并希望为其配置cgitWeb 界面。

问题:

使用浏览目录时cgit出现错误:

未找到存储库

设置

创建新存储库时,会自动gitolite在其下创建相应的目录/home/git/repositories配置cgit为使用以下方式读取这些存储库:

project-list=/home/git/projects.list 
scan-path=/home/git/repositories

问题是这些存储库似乎不是存储库。如果我改为使用手动克隆这些存储库之一

git clone --bare user@server:repo

它似乎工作。我真的不想每次签入新存储库时都手动执行此操作。为什么没有gitolite 创建的存储库?我怎样才能自动化呢?

4

2 回答 2

5

事实证明 - 在尝试多次验证之后 - 这只是一个文件系统权限问题。尝试后

chown -R www-data:www-data repositories/repo

强制所有权到我的 apache 用户 running cgit,存储库显示在 Web 界面中。

正确的解决方案是将 apache 用户添加到git组并将值更改umask.gitolite.rc

$REPO_UMASK=0027

注意:使用Gitolite V3 或 'g3',那将是(参见文档):

$UMASK=0027
于 2011-05-09T17:08:21.887 回答
0

这与我之前遇到的权限问题类似。我使用脚本来修复 git 存储库的权限。

脚本:fix_perm_cgit.sh

#!/bin/sh
reponame="$1"
if [ ! -d "$reponame" ]; then
   echo "missign repo_name"
   exit 1
fi


find "$reponame" -type d | while read fn ; do chmod og+rx $fn ; echo "d-> $fn" ; done
find "$reponame" -type f | while read fn ; do chmod og+r $fn ; echo "f-> $fn" ; done
于 2014-01-28T05:43:11.510 回答