Кто-нибудь знаком с ошибкой git "отсутствует объект 0000000000000000000000000000000000000000 для ссылок / голов / ..."? - PullRequest
11 голосов
/ 26 мая 2011

Мы работаем с git v1.7.1 и настроили gitweb. Мы также используем gitolite для администрации, но я не думаю, что это имеет отношение к этой проблеме. Время от времени мы получаем сообщение об ошибке в журнале Apache, например:

missing object 0000000000000000000000000000000000000000 for refs/heads/...

Где elipse в конце обычно является именем ветви. Я полагаю, что строка нулей должна быть значением SHA1. Очевидно, что все нули не являются значением SHA1. Мне не ясно, откуда это значение?

Я запустил git fsck на сервере, и он не сообщил о проблеме, однако git gc решает проблему. Кроме того, мы можем тянуть и толкать в этот репозиторий (и эту ветку) нормально. Похоже, что воздействует только на gitweb.

Я знаю, что другие видели эту проблему, потому что здесь есть закрытый вопрос об этом: Ошибка Gitweb: фатально: отсутствует объект 0000000000000000000000000000000000000000 для refs / heads / master На этот вопрос нет ответа.

Дополнительная информация

Мы уже видели этот вопрос в нашем репозитории gitolite-admin. У нас нет веток в нашем репозитории gitolite-admin, поэтому его не было в ветке.

Ответы [ 4 ]

4 голосов
/ 28 октября 2014

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

.git \ рефов \ перепятнышки \ происхождение \ ГОЛОВКА

Я просто обновил это для ссылки на новый пульт по умолчанию.

2 голосов
/ 27 марта 2012

Проверьте значение umask пользователя, выполняющего git-daemon.Установка 022 может помочь вам (посмотрите на 'man umask').

1 голос
/ 25 марта 2012

Это происходит для меня всякий раз, когда репо обновляется, и разрешения для Apache устанавливаются неправильно.

Я установил обработчик скрипта для запуска после каждого коммита, чтобы исправить разрешения (инструкции здесь http://sitaramc.github.com/gitolite/hooks.html). Я добавил Apache в группу git, и поэтому все файлы должны быть доступны для чтенияот gitweb cgi под управлением Apache. Я рассматриваю возможность использования suexec для исправления этого.

1 голос
/ 26 мая 2011

Это значение по умолчанию для ветви без коммитов.Когда вы нажимаете новую ветку, вы увидите в выходных данных 00000-> ef357 или что-то в этом роде.

Это также может быть вызвано с учетом регистра.

...