我已经设置和配置了gitolite,并希望将cgit web接口配置到它。
问题:
在使用cgit浏览目录时,我会得到以下错误:
没有找到储存库
设置
创建新存储库时,gitolite会自动在/home/git/repositories下创建相应的目录。使用以下方法读取这些存储库的cgit是配置:
project-list=/home/git/projects.list
scan-path=/home/git/repositories问题是,这些存储库似乎并不是简单的存储库。如果我使用以下方法手动克隆其中一个存储库
git clone --bare user@server:repo好像很管用。我真的不想每次签入新的存储库时都手动执行此操作。为什么gitolite创建的存储库还没有出现呢?我怎么能自动完成这个任务?
发布于 2011-05-09 17:08:21
结果--经过多次验证--这只是一个文件系统的权限问题。试过
chown -R www-data:www-data repositories/repo为了将所有权强加给运行cgit的apache用户,存储库将显示在web界面中。
正确的解决方案是将apache用户添加到git组中,并将.gitolite.rc中的值umask更改为
$REPO_UMASK=0027注意:对于海泡石V3或g3,这将是(见博士):
$UMASK=0027发布于 2014-01-28 05:43:11
这与我以前遇到的许可问题类似。我使用脚本来修复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" ; donehttps://stackoverflow.com/questions/5938652
复制相似问题