LINUX.ORG.RU

Не понимаю git shallow clone

 


0

5

На вопрос «как склонировать срез репы без многомегабайтного довеска в виде истории» гугл единодушно советует shallow clone:

git clone --depth 1 --branch $branch $repo

Делаю сперва обычный клон без --depth.

Receiving objects: 100% (352432/352432), 119.36 MiB
Размер каталога с исходниками - 161М, из них .git весит 130М. Все как ожидалось.

Теперь делаю клон с --depth 1

Receiving objects: 100% (69171/69171), 208.28 MiB
.git весит 211 мегабайт.
Кто виноват, что я делаю не так и какого поттеринга shallow clone тянет почти вдвое больше чем полная копия?
Данная репа живет на внутреннеконторском сервере, поставленном неизвестно чьими руками. Может ли быть дело в настройках гит-сервера?

Deleted

Последнее исправление: Deleted (всего исправлений: 1)

Объектов же меньше скачано. Скорее всего shallow clone просто не может использовать существующие пакеты, которые сжимают объекты пачками, и хранит их все отдельно, вот и разница.

xaizek ★★★★★
()
Ответ на: комментарий от xaizek

Что объектов меньше я вижу. Но механизма, который тянет 200+ мегабайт неизвестно чего чтобы распаковать их в 30 мегабайт исходников я понять и принять не могу.

Deleted
()
Ответ на: комментарий от xaizek

Это не то что я хочу. Я хочу эти сотни мегабайт вообще не тянуть, ни с каким сжатием. Хочу получить просто исходники.

Deleted
()
Ответ на: комментарий от Deleted

Это для проверки. Может на сервере это надо будет сделать прежде чем оно будет нормально тянуться. Такое бывает, если репозиторий импортировали из другой системы контроля версий, может ещё и в других ситуациях.

xaizek ★★★★★
()

Скорее всего это не совсем то, что нужно, но вот:

curl -O https://github.com/USER/REPO/archive/BRANCH.tar.gz

xndr
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.