Git pull error: невозможно создать временное имя файла sha1 - PullRequest
38 голосов
/ 26 марта 2009

У меня есть небольшая настройка git-репо с единственной реальной целью, чтобы иметь возможность локально разрабатывать на нескольких машинах (работа, дом, ноутбук). Таким образом, у меня есть одна ветвь, и я фиксирую / толкаю, как только выхожу из компьютера, тяну, когда я сижу за следующей. Работал нормально, до сих пор так и есть. Теперь, когда я использую мой тестовый компьютер, я получаю следующее:

remote: Counting objects: 38, done.
remote: Compressiremote: ng objects: 100% (20/20), done.
remote: Total 20 (delta 17), reused 0 (delta 0)
error: unable to create temporary sha1 filename .git/objects/ed: File exists

fatal: failed to write object
fatal: unpack-objects failed

Поиск по сети: единственный реальный ответ, который я смог найти, был следующий: http://marc.info/?l=git&m=122720741928774&w=2, который в основном утверждает, что это ложная ошибка, которая находится на вершине кучи, и, таким образом, ничего не говорит о том, что на самом деле неправильно. 1006 *

Куда мне пойти отсюда, чтобы узнать, что не так?

Редактировать: удалил локальную копию и повторно клонировал

Ответы [ 19 ]

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

Пробовал некоторые решения, но в итоге понял, что на диске нашего git-сервера не осталось свободного места.

0 голосов
/ 28 января 2011

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

0 голосов
/ 22 июня 2011

Работа на сервере Linux с локальным Mac - я попробовал несколько из приведенных выше предложений, но безуспешно. Перезагрузился и тут все заработало.

Это не совсем правильное решение, но я думаю, что это может кому-то помочь.

0 голосов
/ 17 марта 2011

Я получаю такие ошибки при работе над sshfs. Он восстанавливает сам себя после размонтирования, а затем снова устанавливает общий ресурс.

0 голосов
/ 26 марта 2009

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

Я не видел никакой очевидной причины для этого в коде и предположил, что это была проблема с разрешениями OS X, предположительно из-за неаккуратной сборки или установки.

0 голосов
/ 19 июня 2012

У меня была эта проблема при попытке развернуть на героку. Оказывается, у меня был гем, который записал файл в каталог tmp /, а heroku это не понравилось. Вынул файл и вуаля, проблема решена. Смотрите это: https://devcenter.heroku.com/articles/read-only-filesystem

0 голосов
/ 14 декабря 2010

У меня была похожая ошибка, и это не было проблемой с разрешениями (я единственный пользователь хранилища), и ни один из методов gc / repack не сработал. В итоге я просто отодвинул старый удаленный репозиторий и перенес новый. К счастью, это было довольно мало.

Ли

0 голосов
/ 24 июня 2013

У меня недавно была эта проблема, и я все безуспешно пробовал в этой теме. На моем VPS оставалось достаточно места на диске, но оказалось, что из-за того, что я не удалял папку развертываний, я превысил предел inode (вероятно, из-за библиотек JS, которые я включал в файлы с сотнями до их сжатия). *

Я удалил загрузку старых развертываний, и все работало нормально.

Я понимаю, что это немного необычный случай, но об этом следует помнить, если ничего не помогает.

0 голосов
/ 03 марта 2011

Смена группы пользователей + разрешение работало у меня. Я заметил, что коммиты некоторых пользователей были в другой группе. Изменение всех в одну группу решило эту проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...