首页 > 解决方案 > 中止“git push”-打开 git-daemon-export-ok.19906 失败:在 pathto/gitolite.pm 第 115 行拒绝权限

问题描述

我正在使用 gitolite,现在我无法将一些更改/新文件推送到存储库。我没有对权限进行任何更改,也没有在 git 脚本上工作。你知道这可能是什么原因吗?

git push

Counting objects: 7, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (4/4), done.
Writing objects: 100% (4/4), 422 bytes | 0 bytes/s, done.
Total 4 (delta 2), reused 0 (delta 0)
remote: creating testrepo123...
remote: Initialized empty Git repository in /path/to/testrepo123.git/
remote:
remote:                 ***** ABORTING *****
remote:         open git-daemon-export-ok.19906 failed: Permission denied at /path/to/gitolite.pm line 115
To hasselbl@git.devlab.de.tmo:gitolite-admin.git
   dde5c24..ea1f2f9  master -> master

也无法创建新的存储库。Git 将在服务器端创建存储库,但用户无法使用它们(许可)

我没有在许可方面进行任何更改。我希望你有一个想法,我所有的网络研究都没有结果。

亲切的问候,尼尔斯

标签: gitgitolitegit-daemon

解决方案


gitolite.pm2009 年 10 月针对 Gitolite V2 推出,其最后一次提交/标记是 v2.3.1... 七年前(2012 年 5 月)

它的src/子文件夹确实包含一个gitolite.pm文件。
只有提交 ceb1154(Gitolite v2.3,加上 4 个提交)gitolite.pm在第 115 行显示了一个命令,该命令容易触发该错误消息。(与提交 936f871一起引入)

my $fh = wrap_open(">", "$file.$$");  

主要想法是请求管理员检查git-daemon-export-ok.19906权限,看看那里是否有任何问题。
另一个想法是考虑升级到最新的 Gitolite v3(v3.6.11,2019 年 1 月),仅使用 SSH(不再使用 git 守护进程)。


推荐阅读