0
サイズを制御する必要があるリポジトリがあり、制限を超えた場合は変更をブロックします。これを実装する方法は?スクリプト上Gitリポジトリが最大サイズを超えて大きくなるのを防ぐには?
サイズを制御する必要があるリポジトリがあり、制限を超えた場合は変更をブロックします。これを実装する方法は?スクリプト上Gitリポジトリが最大サイズを超えて大きくなるのを防ぐには?
.git /フック/事前に受信
#!/bin/bash
# size limit 2(Gb)
sizelimit_gb=2
reposize_kb=`git count-objects -v | grep 'size-pack' | sed 's/.*\(size-pack:\).//'`
let reposize_b=$reposize_kb*1024
let sizelimit_b=$sizelimit_gb*1024*1024*1024
if [ $reposize_b -gt $sizelimit_b ]; then
echo "Error: repository size > $sizelimit_gb Gb"
exit 1
#else
# echo "<= $sizelimit_gb Gb"
fi
exit 0
実行権限が(chmod +x .git/hooks/pre-receive
)が有効で、サーバー内.git/hooks/pre-receive
として保存する必要があります。
スレッシュホールドに達してブロックすると、開発作業はどのように続行されますか?より良いアプローチは、あなたがレポから実際に大きくて悪いものを守ることです。大きなバイナリファイル。 –
gitリポジトリのサイズを意図的に制限することです。 –
ブロックすることで問題を解決する代わりに、Git Virtual File Systemを見たことがありますか? https://github.com/Microsoft/GVFSこれにより、膨大なリポジトリが完全に動作するようになります。 –