Git slow при клонировании в акции Samba - PullRequest
2 голосов
/ 05 января 2012

Мы развертываем новую платформу разработки.

У нас действительно сложная среда, которую мы не можем воспроизвести на компьютерах разработчиков, поэтому люди не могут клонировать репозиторий GIT на своем компьютере.
Вместо этого они клонируют репозиторий на подключенный сетевой диск (общий ресурс SAMBA), который является DocumentRoot веб-сайта для разработчика на наших серверах. У каждого разработчика есть свой собственный ресурс + DocumentRoot / веб-сайт, поэтому они не могут таким образом влиять на людей.
Разработчики используют Linux или Windows в качестве операционной системы.

Мы используем соединение со скоростью 1 Гбит / с, и GIT действительно медленный по сравнению с локальным использованием. Размер нашего хранилища составляет ~ 900 МБ .

Состояние git на ресурсе samba занимает около 3 минут , это невозможно.

Мы попробовали некоторую настройку SAMBA, но все-таки она очень медленная.

У кого-нибудь есть идея?

Спасибо, что уделили время.

Эммануэль.

1 Ответ

4 голосов
/ 05 января 2012

Я считаю, что git status работает просто путем поиска изменений в вашем хранилище.Это делается путем проверки всех файлов и проверки тех, которые изменились.Когда вы выполняете это в отношении Samba или любого другого ресурса, он должен выполнять проверку сетевого подключения.

У меня нет глубоких знаний о реализации git, но я воображаю, что все сводится к

  • . Проверьте все файлы в каталоге

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

Рассматривали ли вы вместо этого следующий рабочий процесс?

  • Пусть каждый разработчик клонирует свой локальный компьютер
  • Работает на локальном компьютере
  • Вносит изменения в свою общую папку, когда им нужно развернуть / проверить / отладить

Это позволит избежать использования git на реальном ресурсе и устранит эту проблему.

...