最近有人反映 mirrors 上的 linux.git 源无法 clone。具体表现为 git clone 到 700MB 左右时卡住,git 无输出。登录后发现 linux.git 有差不多 7GB 大小,判断为 git 存储的松散对象没有被重新打包,导致这个 git 镜像越来越大。

因此先手动对 linux.git 进行 git gc 操作,其占用空间从 7GB 下降到 700MB,服务恢复。随后在同步用的LXC虚拟机中,添加crontab规则:

0       0       * * mon (cd /srv/ftp3/git-repos/linux.git; git gc) > /dev/null 2>&1

即每周一零点零分对 linux.git 进行一次 git gc 操作。