Обнаружение изменений режима файла на ловушке перед фиксацией - PullRequest
0 голосов
/ 14 марта 2019

Я хочу знать, изменил ли кто-нибудь режим файлов в некоторых скриптах, и вывести предупреждение, чтобы убедиться, что это было задумано, а не глупая ошибка.

В настоящее время я пытаюсь сделать что-то подобное на моем хуке предварительной фиксации:

mode_changed=$(git diff --summary | grep "mode")
#echo "mode change is $mode_changed"
if ! [[ -z "$mode_changed" ]]; then
  echo "Warning Files Modes Changed"
fi

Это работает, если файлы не подготовлены для фиксации, но как только я вызываю git commit -a, предыдущий скрипт больше не работает, возвращаемое значение в переменной mode_changed всегда пусто. Есть ли другой способ сделать это?

1 Ответ

2 голосов
/ 14 марта 2019

Чтобы увидеть поэтапные различия, используйте

git diff --summary --staged

(или --cached, что является синонимом --staged).

Вы также можете немного упростить свое условие:

if [ -n "$mode_changed" ]; then
...