Gitweb 不显示一些存储库



我正在尝试使用Gitolite + Gitweb,但我遇到了一些问题。

conf/gitolite.conf如下

@dataset_repos      = dat1 dat2
@closedsrc_repos    = cod1 cod2 
@opensrc_repos      = testing
@admins             = user1 user2
@bios               = user1 user2 user3
@coders             = user1 user3
repo gitolite-admin
    RW+     =   @admins
repo @opensrc_repos
    RW+     =   @all
repo @dataset_repos
    RW+     =   @admins @bios 
repo @closedsrc_repos
    RW+     =   @admins @coders

当我第一次插入存储库代码 1 和代码 2 时,git 告诉我:

remote: Initialized empty Git repository in /home/git/repositories/code1.git/
remote: Initialized empty Git repository in /home/git/repositories/code2.git/

我在 code2 上做了初始提交,但它没有出现。所以我检查了权限,发现这些是:

drwxrwx--- 8 git git 4096 Oct  1 18:58 ./
drwxr-xr-x 8 git git 4096 Oct  1 19:08 ../
drwxrwx--- 8 git git 4096 Oct  1 19:08 gitolite-admin.git/
drwxrws--- 7 git git 4096 Oct  1 17:15 dat1.git/
drwx------ 7 git git 4096 Oct  1 18:58 code1.git/
drwx------ 7 git git 4096 Oct  1 18:58 code2.git/
drwxrwx--- 7 git git 4096 Sep 30 18:20 testing.git/
drwxrws--- 7 git git 4096 Oct  1 17:15 dat2.git/

所以我修复了回购code1.git的权限,并code2.git

# Fix ownership
sudo chown -R git:git *
# Fix directory permissions
sudo find <repo.git> -type d -exec chmod 770 {} ;
# Fix file permissions
sudo find <repo.git> -type f -exec chmod 660 {} ;

这两个存储库出现在 gitweb 界面上。但是,不会为这两个存储库中的每一个生成gl-conf。现在,执行提交,权限再次混乱,并且存储库没有显示。

我做错了什么?

谢谢

从这个问题中读到,我部分解决了它,就像这样:

  1. 最初,gitweb 没有任何读取存储库的权限,因此我们通过运行 gitweb 将 gitweb 用户(通常www-dataapache)添加到 git 组来解决问题usermod -a -G git www-data(请注意服务器的配置,因为根据您配置gitolite的方式,这可能会略有不同。

  2. .gitolite.rc文件(存在于 git 用户主目录中)上的 UMASK 属性从默认值 0077 更改为 0022 ,相当于目录的755 (rwxr-xr-x)和文件的644 (rw-r--r--)

  3. 对于现有存储库,可能需要运行chmod -R g+rX

更多信息请见上面的链接。

无论如何,每次我编辑gitolite-admin存储库时,这都会显示在当前存储库列表中。如何改变它?

此外,如果权限正常,您应该检查哪个目录正在扫描 GitWeb,以及将 Gitolite 存储库放在哪里,它可以不同,并且符号链接使新的存储库可见。

最新更新