我有以下通过grok镜像填充的estructure:
/var/opt/git/git-data/repositories
/organization1
/teamA
/repo1
/repo2
/teamB
/repo3
/repo4
/organizationN
/teamN
/repoNgit instaweb对于一个单独的repo运行得很好,但是如果我想自动git instaweb在"repositories“目录下显示所有的repos,它不能工作:
fatal: Not a git repository (or any parent up to mount point /var/opt/git/git-data)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).这是正确的,因为父目录中没有存储库,但是如果我从/var/opt/git/git-data/repositories/organization/teamA/执行git instaweb,我会得到相同的错误,并且在该目录中是空存储库所在的位置(每个存储库对应一个repoN.git目录)
我已经设置了GIT_DISCOVERY_ACROSS_FILESYSTEM环境变量,但没有结果。另外,我为/etc/gitweb.conf设置了以下条目:our $projectroot = "/var/opt/git/git-data/repositories";
正如我在项目文档中读到的,git instaweb可以服务于多个repos,而不仅仅是一个,它会在某个目录下查找repos。
我做错了什么?
发布于 2017-02-20 21:00:29
为此,我创建了一个空的存储库,并链接到我想要浏览的存储库。这个变通方法是必要的,因为instaweb运行gitweb和设置项目根目录的方式很复杂。
git init instaweb
cd instaweb
ln -s /var/opt/git/git-data/repositories/org1/teama/repo1 repo1-a-1
ln -s /var/opt/git/git-data/repositories/org2/teamb/repo2 repo2-b-2
git instaweb --httpd webrick服务器现在已经启动并运行,主页将列出一个.git项目(这是您刚刚初始化的空存储库)以及您链接到的两个实际项目。
https://stackoverflow.com/questions/38305637
复制相似问题