Я использую репо для загрузки исходного кода Android.

Я заметил, что большинство проектов загружаются с удаленным сжатием объектов в файл пакета, а затем просто получают файл пакета и извлекают содержимое пакета. После этого я получаю файлы .pack и .idx в папке .repo/objects/pack/. В папке объектов нет никаких других папок. И при загрузке этого файла пакета, если соединение разрывается, то оно не восстанавливается.

Я также заметил, что очень немногие проекты загружаются без удаленного сжатия объектов в файл пакета. Для этого у меня нет файлов .pack и .idx. Но многие отдельные папки и файлы внутри этих папок создаются внутри папки объектов. У меня есть несколько вопросов относительно этого подхода.

Возобновится ли этот клон после прерывания? Я не спрашиваю о возможности возобновления одного объекта файла. Но при прерывании и попытке повторной загрузки будут ли пропущены уже загруженные файлы? И как на это влияет нормальный клон и неглубокий клон?

Могу ли я попросить сервер не сжимать объекты в файл пакета во время клонирования git. Если это зависит от сервера, поддерживает ли github и aosp это?

1 ответ1

0

Это хорошо описано в ответах на Как выполнить git-клон для большого проекта на нестабильном соединении? Вопрос переполнения стека.

  • git - клонирование без пакета возобновляется при прерывании?

  • Возобновится ли этот клон после прерывания?

  • Но при прерывании и попытке повторной загрузки будут ли пропущены уже загруженные файлы? И как на это влияет нормальный клон и неглубокий клон?

Неважно, как вы выполняете клонирование (мелкое или нормальное) во время написания (27 июня 2018 г.), возобновляемое клонирование НЕ поддерживается git. Если процесс клонирования был прерван, то git выбросит текущее репо, а если он будет прерван, вам придется выбросить репо, удалив его (так как он будет поврежден), и снова запустить клон.

Могу ли я попросить сервер не сжимать объекты в файл пакета во время клонирования git.

Нет, вы не можете - упаковка - это фундамент для работы git.

Поскольку вы упомянули, что вы не можете / не хотите использовать обходные пути, упомянутые @anr, были перечислены в https://stackoverflow.com/a/3957733/2732969 (попросите владельца репо создать пакет репо и поместить его в как обычный файл на HTTP-сервере, клонировать на меньшую глубину) ваши возможности ограничены ...

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .