Я пытаюсь клонировать большой (1.4GB) репозиторий Git для 32-разрядной виртуальной машины Debian с 384 МБ ОЗУ. Я использую Git 1.7.2.5 и использую протокол SSH для клонирования ('git clone [email protected]:/my/repo')
Клону не удается выполнить это сообщение:
remote: Counting objects: 18797, done.
remote: warning: subobtimal pack - out of memory
remote: Compressing objects: 100% (10363/10363), done.
fatal: out of memory, malloc failed (tried to allocate 905574791 bytes)
fatal: index-pack failed
Я попытался уменьшить объем памяти Git для переупаковки в конце репозитория хоста и переупаковки:
git config pack.windowMemory 10m
git config pack.packSizeLimit 20m
git repack -a -d
Мои вопросы таковы:
- Является ли это проблемой размера клиента (клон) или она должна быть разрешена в репо, из которого я клонирую?
-
В любом случае, есть ли что-нибудь, что я могу сделать, чтобы сделать клон успешным? Многие потенциальные решения в Интернете включают в себя некоторые/все из следующих вещей, ни одно из которых не приемлемо в этом случае:
- существенно изменить содержимое репозитория (т.е. удалить большие файлы)
- предоставление виртуальной машины, которая делает клон более RAM
- дает VM, которая делает клон 64-разрядным виртуальным процессором.
- передача внеполосного (например, с использованием Rsync или SFTP для передачи каталога .git)
Спасибо заранее.