gitolite + cgit:找不到存储库

Joh*_*erg 6 git version-control dvcs gitolite cgit

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

问题:

使用cgit我浏览目录时收到错误:

找不到存储库

建立

创建新存储库时,gitolite/home/git/repositories自动为其创建相应的目录.cgitconfiguered读取使用这些存储库:

project-list=/home/git/projects.list 
scan-path=/home/git/repositories
Run Code Online (Sandbox Code Playgroud)

问题是这些存储库似乎不是存储库.如果我改为使用手动克隆其中一个存储库

git clone --bare user@server:repo
Run Code Online (Sandbox Code Playgroud)

它似乎工作.每次签入新的存储库时,我都不想手动执行此操作.为什么gitolite 存储库已经创建了?我该如何自动化?

Joh*_*erg 5

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

chown -R www-data:www-data repositories/repo
Run Code Online (Sandbox Code Playgroud)

强制所有权进入我的apache用户运行cgit,存储库显示在Web界面中.

适当的解决方案是apache用户添加到该git组并更改该值umask.gitolite.rc

$REPO_UMASK=0027
Run Code Online (Sandbox Code Playgroud)

注意:使用Gitolite V3或'g3',即可(参见doc):

$UMASK=0027
Run Code Online (Sandbox Code Playgroud)

  • 通过组执行此操作可能更好,因此apache在存储库中没有写访问权限.(也就是说,`chown -R <gitolite-user>:www-data repositories/repo`并填写其余内容.) (3认同)