Решил через хуки git'а, с размещением на сервере:
.git/hooks/pre-receive#!/bin/bash
# лимит размера в 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 "Ошибка: размер репозитория > $sizelimit_gb Gb"
exit 1
#else
# echo "<= $sizelimit_gb Gb"
fi
exit 0
Выше сценарий должен быть сохранен как
.git/hooks/pre-receive на сервере, с разрешением на выполнение (chmod +x .git/hooks/pre-receive).