[在RHEL / Centos 7的Gitolite 3.6.6和3.6.11之间成功地组织了一个深子目录树中的大量存储库多年之后,我失去了访问存储在子目录中的存储库的能力。
尝试通过“拒绝失败”来获取或推送失败,而可以成功访问顶级目录中的存储库。
Gitolite配置如下
@supergroup = spirald
@foogroup = spirald
@foogroup = johnny
repo gitolite-admin
RW+ = @supergroup
repo testing
RW+ = @all
repo foo/bar/baz
RW+ = @foogroup
repo footest
RW+ = @foogroup
胶状硬石记录如下:
2020-04-22.11:04:24 27731 ssh ARGV=spirald SOC=git-upload-pack 'foo/bar/baz' FROM=111.222.333.444
2020-04-22.11:04:24 27731 die R any foo/bar/baz spirald DENIED by fallthru<<newline>>(or you mis-spelled the reponame)
ssh信息显示以下内容
hello spirald, this is git@aserver running gitolite3 3.6.11-1.el7 on git 1.8.3.1
R W footest
R W gitolite-admin
R W testing
在git帐户中,通过gitolite访问-s foo / bar / baz螺旋W any返回
FATAL: this should not happen! W any foo/bar/baz spirald DENIED by fallthru at /usr/share/gitolite3/commands/access line 101, <DATA> line 1.
[同时:凹凸棒石通道-s的最基螺旋W任何返回
legend:
d => skipped deny rule due to ref unknown or 'any',
r => skipped due to refex not matching,
p => skipped due to perm (W, +, etc) not matching,
D => explicitly denied,
A => explicitly allowed,
F => fallthru; access denied for normal refs, allowed for VREFs
A gitolite.conf:23 RW+ = @foogroup
refs/.*
gitolite list- *命令正确显示存储库和成员身份
没有人了解此问题或某种不涉及更改大量URL的解决方法吗?
已解决!
在我使用的服务器上的git帐户中
gitolite setup --hooks-only
如果最近从未使用回购协议,则看起来像是最近发布的甘蔗石引发了问题。我只是将现有的存储库放入由gitolite管理的存储库目录中,因此我一开始从未这样做。