git - 中止“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 将在服务器端创建存储库,但用户无法使用它们(许可)
我没有在许可方面进行任何更改。我希望你有一个想法,我所有的网络研究都没有结果。
亲切的问候,尼尔斯
解决方案
gitolite.pm
于2009 年 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 守护进程)。
推荐阅读
- spartacus-storefront - 默认应用程序的店面设置期间的依赖关系错误
- python - 使用python请求时服务器检测到原始IP,但使用curl时未检测到
- android - 在浏览器(离子服务)上运行但不在设备和模拟器上运行的简单 android 应用程序
- cron - 我们如何将 cron 表达式修改为不在特定日期运行,比如 12 月 28 日和 2 月 3 日
- laravel-5 - 带有链 Laravel 5.6 的任务计划作业
- firebase - 为什么即使在选择“防止用户创建多个帐户”选项后,我也会为同一个电子邮件 ID 获得多个 Firebase uid
- typescript - How to handle reverse mapping of string enums with different string literals in typescript?
- javascript - 将字符串参数转换为一个元素的数组
- docker - 在构建上下文之外访问文件
- python - 我需要测试功能的哪些方面?