Репо синхронизируется зависает - PullRequest
8 голосов
/ 19 января 2010

Я пытался получить исходники для релиза Android 1.6, но репо операция синхронизации продолжает зависать.

Я вставляю последнюю часть сообщения, которое я получаю на терминале, здесь:

Fetching projects:  19% (32/164)
Initializing project platform/external/freetype ...
remote: Counting objects: 970, done.
remote: Compressing objects: 100% (414/414), done.
Receiving objects:  57% (558/970), 1.28 MiB | 26 KiB/s

Он просто висит там ... без сообщений об ошибках или чего-то в этом роде.

Кто-нибудь сталкивался с подобной проблемой?

Ответы [ 3 ]

11 голосов
/ 07 сентября 2010

Интересно, используете ли вы VMWare для запуска Linux.Я столкнулся с той же проблемой, что и вы, пока не нашел причину: размер окна tcp на нашей стороне был установлен равным 0 (полный).Я использую Ubuntu 10.04 на VMWare в Windows 7 64-bit в качестве хоста.Чтобы это исправить, просто убедитесь, что вы предоставили достаточно памяти для Ubuntu на VMWare, чтобы устранить любые проблемы с памятью.У меня было установлено 512 МБ и увеличено до 1,5 МБ для лучшей производительности.Затем самая важная настройка (и та, которая сделала трюк на самом деле): убедитесь, что вы установили сетевой адаптер на VMWare в мостовой режим.Например, при использовании NAT служба NAT захлебнется и испортит для вас размер окна.

Причина: размер окна TCP клиента сообщает серверу количество байтов, которые он желает получить за один раз отсервер;это окно приема клиента.Если для окна установлено значение 0, это означает, что клиент не сможет получать больше данных, пока не обработает все данные, ожидающие обработки в своих внутренних буферах.Это нормальные вещи TCP.Эффект размера окна, установленного на 0 на клиенте, заключается в том, что TCP-соединение будет еще какое-то время живым, пока сервер не решит, что он достаточно долго ждёт, и прервет соединение.Именно это и привело к зависанию синхронизации репо без ошибок.

5 голосов
/ 19 апреля 2011

Надеюсь, это поможет кому-то, ссылаясь на этот форум.

У меня была проблема с git-клонами больших репозиториев. Первоначально скорость будет высокой, а затем резко снижается и, наконец, зависает. Это была проблема с TCP Window Scaling. Как только это было отключено, оно работало нормально.

(Но странная часть в том, что когда я запускал его из Linux в VMWare, проблем не было.)

Чтобы отключить это для текущего сеанса $ sudo sysctl -w net.ipv4.tcp_window_scaling = 0

0 голосов
/ 19 января 2010

Была похожая проблема еще в сентябре на SO .

Это может быть связано со скоростью сети или с конкретной версией Git, которую вы используете.
Если это msysgit , пожалуйста, обновите его до последней версии.
См. Также выпуск msysgit 361

...