Интересно, используете ли вы 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-соединение будет еще какое-то время живым, пока сервер не решит, что он достаточно долго ждёт, и прервет соединение.Именно это и привело к зависанию синхронизации репо без ошибок.