Остановить git-фиксацию определенного автора с помощью хука предварительной фиксации

Я планирую использовать git для отслеживания изменений в /etc, но при фиксации я хочу, чтобы человек, вносящий изменение, указывал себя как автора, добавляя параметр --author в командную строку.

Итак, я хотел бы предотвратить случайные коммиты от имени пользователя root.

Я попытался создать этот хук перед фиксацией, но он не работает — git var по-прежнему возвращает root, даже если я укажу автора в строке фиксации.

AUTHOR=`git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/\1/p'`
if [ "$AUTHOR" == "root <root@localhost>" ];
then
   echo "Please commit under your own user name instead of \"$AUTHOR\":"
   echo 'git commit --author="Adrian"'
   echo "or if your name is not already in logs use full ident"
   echo 'git commit --author="Adrian Cornish <a@localhost>"'
   exit 1
fi
exit 0
13
задан Adrian Cornish 9 March 2012 в 00:35
поделиться