首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >珍珠岩+ cgit:未发现储存库

珍珠岩+ cgit:未发现储存库
EN

Stack Overflow用户
提问于 2011-05-09 14:55:53
回答 2查看 5.9K关注 0票数 6

我已经设置和配置了gitolite,并希望将cgit web接口配置到它。

问题:

在使用cgit浏览目录时,我会得到以下错误:

没有找到储存库

设置

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

代码语言:javascript
复制
project-list=/home/git/projects.list 
scan-path=/home/git/repositories

问题是,这些存储库似乎并不是简单的存储库。如果我使用以下方法手动克隆其中一个存储库

代码语言:javascript
复制
git clone --bare user@server:repo

好像很管用。我真的不想每次签入新的存储库时都手动执行此操作。为什么gitolite创建的存储库还没有出现呢?我怎么能自动完成这个任务?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-05-09 17:08:21

结果--经过多次验证--这只是一个文件系统的权限问题。试过

代码语言:javascript
复制
chown -R www-data:www-data repositories/repo

为了将所有权强加给运行cgit的apache用户,存储库将显示在web界面中。

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

代码语言:javascript
复制
$REPO_UMASK=0027

注意:对于海泡石V3或g3,这将是(见博士):

代码语言:javascript
复制
$UMASK=0027
票数 5
EN

Stack Overflow用户

发布于 2014-01-28 05:43:11

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

脚本: fix_perm_cgit.sh

代码语言:javascript
复制
#!/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
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5938652

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档