Я использовал мерзавца и gitosis в течение нескольких месяцев теперь, и действительно люблю обоих. К сожалению, я столкнулся с проблемой, получающей доступ к одному из моих проектов с gitosis.
Я настроил своего мерзавца и установки gitosis на размещенном выполнении учетной записи сервера Debian. Я также настроил четыре компьютера (две Ubuntu, два Windows) с отдельными rsa ключами и успешно установил каждого до доступа установка gitosis. Все работало гладко в течение некоторого времени. Недавно, тем не менее, я не мог получить доступ к своему проекту 'DesktopConfiguration' всегда (нажатие, вытяните, клон). Я первоначально создал проект DesktopConfiguration на одной из моих машин Linux, продвинул его к gitosis серверу и клонировал его на одной из моих машин Windows. У меня не было проблем при доступе к нему до недавнего времени (прошлые две недели или так). Следующее является моим gitosis.conf файлом и сообщением об ошибке, что я получаю (сообщения об ошибках являются тем же, пытаюсь ли я продвинуть, вытяните, или клон с помощью моих полей Windows или Linux):
[gitosis]
loglevel = DEBUG
[group gitosis-admin]
writable = gitosis-admin
members = windows-desktop linux-desktop linux-laptop work-laptop
[group main-projects]
writable = WallpaperChanger
writable = RegexTester
writable = MovieAggregator
writable = FileRenamer
writable = GlutenFreeShoppingAssistant
writable = Libraries
writable = DesktopConfiguration
writable = RssFeedReader
members = windows-desktop linux-desktop linux-laptop work-laptop
C:\Documents and Settings\myname\Desktop\Desktop Config Test>git clone git@myserver:DesktopConfiguration.git
Initialized empty Git repository in C:/Documents and Settings/myname/Desktop/Desktop Config Test/DesktopConfiguration/.git/
DEBUG:gitosis.serve.main:Got command "git-upload-pack 'DesktopConfiguration.git'"
DEBUG:gitosis.access.haveAccess:Access check for 'work-laptop' as 'writable' on 'DesktopConfiguration.git'...
DEBUG:gitosis.access.haveAccess:Stripping .git suffix from 'DesktopConfiguration.git', new value 'DesktopConfiguration'
DEBUG:gitosis.group.getMembership:found 'work-laptop' in 'main-projects'
DEBUG:gitosis.group.getMembership:found 'work-laptop' in 'gitosis-admin'
DEBUG:gitosis.access.haveAccess:Access check for 'work-laptop' as 'writeable' on 'DesktopConfiguration.git'...
DEBUG:gitosis.access.haveAccess:Stripping .git suffix from 'DesktopConfiguration.git', new value 'DesktopConfiguration'
DEBUG:gitosis.group.getMembership:found 'work-laptop' in 'main-projects'
DEBUG:gitosis.group.getMembership:found 'work-laptop' in 'gitosis-admin'
DEBUG:gitosis.access.haveAccess:Access check for 'work-laptop' as 'readonly' on 'DesktopConfiguration.git'...
DEBUG:gitosis.access.haveAccess:Stripping .git suffix from 'DesktopConfiguration.git', new value 'DesktopConfiguration'
DEBUG:gitosis.group.getMembership:found 'work-laptop' in 'main-projects'
DEBUG:gitosis.group.getMembership:found 'work-laptop' in 'gitosis-admin'
ERROR:gitosis.serve.main:Repository read access denied
fatal: The remote end hung up unexpectedly
На основе моего опыта с gitosis и большинством вопросов-и-ответов, которые я нашел онлайн, сообщения об ошибках точно походят на тех принятых при попытке продвинуть к gitosis не сначала добавив проект к группе, к которой машина имеет доступ. К сожалению, это, кажется, не верно в моем случае. (Если я не пропускаю что-то!)
Я не абсолютно уверен, если это предоставило бы еще некоторую информацию, но здесь является сообщениями отладки от моего рычага постобновления:
INFO:gitosis.run_hook:Running hook post-update
DEBUG:gitosis.gitdaemon:Global default is 'deny'
DEBUG:gitosis.gitdaemon:Walking '.', seeing ['RegexTester.git', 'gitosis-admin.git', 'Libraries.git', 'GlutenFreeShoppingAssistant.git', 'MovieAggregator.git', 'DesktopConfiguration.git', 'WallpaperChanger.git', 'RssFeedReader.git', 'FileRenamer.git']
DEBUG:gitosis.gitdaemon:Deny 'RegexTester'
DEBUG:gitosis.gitdaemon:Deny 'gitosis-admin'
DEBUG:gitosis.gitdaemon:Deny 'Libraries'
DEBUG:gitosis.gitdaemon:Deny 'GlutenFreeShoppingAssistant'
DEBUG:gitosis.gitdaemon:Deny 'MovieAggregator'
DEBUG:gitosis.gitdaemon:Deny 'DesktopConfiguration'
DEBUG:gitosis.gitdaemon:Deny 'WallpaperChanger'
DEBUG:gitosis.gitdaemon:Deny 'RssFeedReader'
DEBUG:gitosis.gitdaemon:Deny 'FileRenamer'
INFO:gitosis.run_hook:Done.
Я все еще могу получить доступ (нажатие, вытяните, клон), все другие проекты на сервере (и в gitosis-администраторе и в группах основных проектов) на всех моих машинах. Вот несколько вещей, которых я делал попытку до сих пор:
Всем этим попыткам не удалось позволить мне получать доступ к проекту. Насколько я знаю, ничто не изменилось на сервере или моих настольных машинах во время, я потерял доступ к этому проекту.
Я приветствую любое понимание, которое Вы можете иметь с распростертыми объятьями!
Для «доступ для чтения запрещен» я бы проверял, что пользователь gitosis на сервере все еще имеет полный доступ к репозиториям. Вы говорите, что уверены, что на сервере ничего не изменилось, но вы исключили множество других вещей. Не повредит еще раз проверить.