Gitolite не может получить доступ к репозиториям, хранящимся в подкаталогах - PullRequest
0 голосов
/ 22 апреля 2020

После успешной организации большого количества репозиториев в глубоком дереве подкаталогов в течение многих лет, где-то между Gitolite 3.6.6 и 3.6.11 для RHEL / Centos 7 я утратил возможность доступа к репозиториям, хранящимся в подкаталогах.

Попытки получить или pu sh завершаются неудачно с «Отклонено при падении», в то время как к репозиториям в каталогах верхнего уровня можно успешно обращаться.

Конфигурация 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

Gitolite регистрирует следующее:

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)

s sh info показывает следующее

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 access -s foo / bar / baz spirald W любые возвраты

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. 

Пока: gitolite access -s footest spirald 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-адресов?

1 Ответ

1 голос
/ 24 апреля 2020

Решено!

В учетной записи git на моем сервере я использовал

gitolite setup --hooks-only

Похоже, недавний выпуск gitolite вызвал проблему, если это никогда не делалось с репо. Я просто поместил существующее хранилище в каталог репозиториев, управляемый gitolite, поэтому я никогда не делал этого изначально.

...