2013-12-24 4 views
1

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

cd /var/repo_mirrors 
git clone --mirror /home/gitolite/repositories/Test.git 

(я был по существу следующие шаги отсюда: http://www.redmine.org/projects/redmine/wiki/RedmineRepositories#Git-repository)

Я также хотел, чтобы иметь возможность просматривать хранилище, так что я сделал CHOWN для WWW-данных, чтобы Apache мог читать.

Это все сработало хорошо. Но теперь проблема заключается в том, что я не могу клонировать/толкать исходный репозиторий. Когда я пытаюсь получить следующую ошибку;

со смертельным исходом: не удалось прочитать объект a0d91d1cc22bfbd5666d51c1ea7a5015008e50b6: Доступ запрещен роковым: Не удалось прочитать из удаленного хранилища.

Убедитесь, что у вас есть правильные права доступа, и существует хранилище .

Примечание: перед зеркалом все работало ОК

Любые идеи о том, что пошло не будут оценены.

ответ

1

Это может быть связано с жестких ссылок, созданных во время git clone:

Файлы под .git/objects/ каталога hardlinked, чтобы сэкономить место, когда это возможно.

Попробуйте тот же клон, но без жестких ссылок:

cd /var/repo_mirrors 
git clone --mirror --no-hardlinks /home/gitolite/repositories/Test.git 
+0

Спасибо, что было. Беспокойство, что зеркало может вызвать такую ​​проблему. –

+0

Спасибо, чувак, точно в моем случае: я клонировал локальное репо, запустил клон для postgres и запустил некоторые SQL-скрипты. Но после этого я больше ничего не мог подтолкнуть ... И действительно, оказалось, что оригинальные объектные файлы, в которых тоже есть постгревы (черт!) ... Отправили его обратно в гитолит и толкали магически снова. – Cromax

Смежные вопросы