git clone с msysGit в Windows не работает

Я установил msysGit на несколько своих компьютеров и имею проблемы только на одном конкретном компьютере (мой основной рабочий компьютер, конечно). "git clone" не работает. Когда я запускаю команду clone в репозитории, это происходит:

C:\Projects>git clone git://github.com/[user]/[project].git
Initialized empty Git repository in C:/Projects/[project]/.git/

Он начинает заполнять каталог.git, но никогда больше не тянет вниз. Я оставил его на пару часов, чтобы посмотреть, не выдаст ли оно хотя бы ошибку. Он продолжает сидеть там. Если я попытаюсь отменить его, он работает просто отлично. Кажется, это никогда не сносит хранилище. Я пробовал это на нескольких репозиториях из разных мест. Кто-нибудь знает, что может происходить?

2 ответа

Решение

Вы пытались клонировать с http-адресом?

В настоящее время это билет с msysgit ( выпуск 136) с той же проблемой, для которой текущим обходным путем является клонирование с http, а не с git-адресом.

Другие ходы, чтобы попробовать:

  • GIT_TRACE=1 (и опубликовать вывод)
  • попробуйте другие или более старые версии msysgit
  • проверьте наличие брандмауэра / антивируса на вашем главном компьютере

Здесь переход на более старую версию msysgit может быть правильным вариантом:
Посмотрите эту ветку поддержки GitHub:

Используете ли вы пререлиз 1.6.4 msysGit? Есть известные ошибки с этим.
Мы рекомендуем стабильную версию, такую ​​как 1.6.0.

спасибо, Крис, вот и все: после возврата к предыдущей версии msysGit (Git-1.6.3.2-preview20090608.exe) проблема больше не возникает.


Проблема может на самом деле повлиять на любой Git1.6.4 и старше:

Git пытается проверить, существует ли файл пакета, отправив HEAD запрос, но задыхается от ошибки 500, которую возвращает (если не все) github.

Используя репозиторий, используемый репортером:

$ curl http://github.com/grails/grails.git/objects/info/packs
P pack-1290e84bed53bda28f0989dca48d836bd9104031.pack
P pack-bf40d38ae780512994e5127e832ed9d8853c186d.pack
P pack-f490d5f7d4671368f4a52c618ca9dce13b714ba1.pack
P pack-79e3a7f30e8989acc8403ac688be669a05384eef.pack

$ curl -I http://github.com/grails/grails.git/objects/pack/pack-bf40d38ae780512994e5127e832ed9d8853c186d.pack
HTTP/1.1 500 Internal Server Error
Server: nginx/0.6.26
Date: Fri, 04 Sep 2009 13:50:20 GMT
Content-Type: text/html; charset=utf-8
Connection: keep-alive
Content-Length: 3193
Cache-Control: no-cache

Смотрите эту ветку.
Служба поддержки GitHub в настоящее время изучает проблему:

Я не думаю, что 500-е являются преднамеренными, но может быть что-то странное с нашей настройкой, которая их вызывает.
У меня есть билет, открытый для дальнейшего изучения проблемы. У меня такое чувство, что мы не будем связываться с этим до окончания переезда, поскольку, скорее всего, это что-то с конфигурацией сервера.


Git1.6.4.4 содержит исправление с 16 сентября:

Обходной путь для сервера Github, который иногда давал ответ 500 (Внутренняя ошибка сервера) на запросы HEAD в 1.6.4.3, привел к регрессии, которая вызвала повторную выборку проектов через http для segfault в некоторых случаях из-за освобождения неинициализированного указателя.

Но mssysgit еще не выпустила (21 сентября) любую новую сборку, начиная с оригинальной версии 1.6.4 в конце июля. (Они, вероятно, ждут 1.6.5 или 1.7)

У меня была эта проблема, и оказалось, что это был шаг, принимающий блокировку ключа удаленного хоста. Я просто ssh'd нормально к хосту, принял ключ, а затем вернулся к Git и все работало.

Другие вопросы по тегам