Вы можете создать хук pre-receive
, который отклоняет фиксации на основе любых критериев, которые вам нравятся - вам просто нужно вывести ошибку на стандартный вывод и выйти с ненулевым статусом. Например, что-то вроде:
#!/bin/sh
while read rev_old rev_new ref
do
MALFORMED="$(git rev-list --oneline $rev_old..$rev_new | egrep -v '^[a-f0-9]+ #[0-9]+ ')"
if [ x"$MALFORMED" != x ]
then
echo Some commits had a malformed subject line
exit 1
fi
done
(я этого не проверял, но вы поняли ...)