ここ数日、Git リポジトリへのすべてのプッシュがサーバー上で自動パッキングを引き起こしました。
これが発生したときのクライアントの出力:
~pdr git:master ❯❯❯ git push origin master
Counting objects: 44, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (26/26), done.
Writing objects: 100% (27/27), 4.67 KiB, done.
Total 27 (delta 14), reused 0 (delta 0)
Auto packing the repository for optimum performance.
パッキングはサーバー上で行われ、ps はこれらの git コマンドが動作していることを示します。
git 23252 0.0 0.0 68520 552 ? S 15:21 0:00 sshd: git@notty
git 23253 0.0 0.0 9660 540 ? Ss 15:21 0:00 git shell -c git-receive-pack 'repositories/pdr.git'
git 23254 0.0 0.0 16644 2136 ? S 15:21 0:00 git receive-pack repositories/pdr.git
git 23258 0.0 0.0 9660 624 ? S 15:21 0:00 git gc --auto --quiet
git 23261 0.0 0.0 9660 504 ? S 15:21 0:00 git repack -d -l -q -A
git 23262 0.0 0.0 4104 376 ? S 15:21 0:00 /bin/sh /usr/lib/git-core/git-repack -d -l -q -A
git 23275 267 92.2 9569724 3742468 ? Sl 15:21 23:07 git pack-objects --keep-true-parents --honor-pack-keep --non-empty --all --reflog --unpack-unreachable --local -q --delta-base-offset /home/git/repositories/pdr.git/objects/.tmp-23262-pack
サーバー上で手動の「git gc」に続いて「git fsck」を実行しました。エラーメッセージはありませんが、次のプッシュで再び自動パッキングを開始しました。
これは、Git 1.7.0.4 で Ubuntu Server 10.04 LTS を実行しているサーバー上にあります。