git gc на машине с квотой - PullRequest
       15

git gc на машине с квотой

6 голосов
/ 05 декабря 2009

Простой вопрос, я пытаюсь запустить git gc на машине с квотой. Pre-gc, я использую около 18 ГБ, почти все из которых - мой клонированный репозиторий git. Мой диск ограничен 25 ГБ. Во время операции git gc на диск записывается достаточное количество временных файлов, чтобы достичь моего предела, что приводит к сбою операции git gc.

Я могу удалить .git/objects/pack/tmp_pack_* после неудачной операции и вернуться к использованию 18 ГБ, но я бы действительно хотел завершить git gc и восстановить небольшую производительность.

Есть ли какая-нибудь причудливая опция (или серия других команд git), которую я могу использовать, которая не предполагает первую запись> 7 ГБ временных файлов на диск?

Ответы [ 3 ]

2 голосов
/ 05 декабря 2009

Какая часть gc важна для вас? Вы можете попробовать запустить детали git-prune и git-repack отдельно. При git-prune обязательно укажите дату отсечения с помощью опции --expire. Если в вашем репозитории есть тонна незакрепленных предметов, было бы полезно сначала убрать их с дороги. *

С git-repack вы, возможно, можете поиграть с настройками глубины и окна, чтобы получить что-то достаточно маленькое, чтобы работать в пределах имеющегося у вас пространства.

* Я не претендую на полное понимание всех связанных с этим проблем, но замечаю, что обрезка наступает после перепаковки в коде git-gc.

0 голосов
/ 05 декабря 2009

git prune - отличное предложение, хороший звонок Джефроми.

Еще одна вещь, которую вы можете сделать, это сжать другие файлы; git gc; распаковывать.

7z получит потрясающее сжатие, но не сохранит жесткие ссылки и владельца / группу Unix, IIRC. Если у вас есть квота, все файлы, вероятно, принадлежат вашей учетной записи, поэтому не стоит беспокоиться о первом счете. Но самым безопасным является tar c --lzma, если он у вас есть, или просто tar czf или cjf. Если у вас много маленьких файлов, может быть существенной внешняя (?) Фрагментация вплоть до размера блока.

0 голосов
/ 05 декабря 2009

Похоже, лучшее решение - попросить ИТ-отдел увеличить квоту, хотя мне все еще интересно услышать обходные пути. Сегодня они чувствовали себя щедрыми, а завтра ... :)

...