Какой хук нужно использовать при получении изменений в пустой репозиторий Git?
Пытаюсь разобраться в работе пользовательских хуков в Git.
В конечном счёте требуется сравнивать текущее состояние ветки с получаемыми изменениями и выполнять необходимые команды в оболочке в случае изменения определённых файлов.
Для получения различий в состоянии ветки я использую git diff-tree.
С post-checkout у меня не возникает никаких проблем. Насколько я понимаю, он выполняется при клонировании репозитория или переключении ветки, мне он нужен только для первого случая и отлично справляется с поставленной задачей.
Что касается post-merge, то оказалось, что он в принципе работает только тогда, когда репозиторий уже содержит какие-то файлы. Если вначале я клонирую пустой репозиторий, затем наполняю источник и после этого вытягиваю из него изменения в репозиторий с помощью git pull, этот хук просто игнорируется.
Но в моём случае невозможно заранее знать о том, будет ли репозиторий склонирован пустым или с каким-то содержимым, поэтому мне надо обрабатывать оба случая.
Предусмотрен ли для Git какой-нибудь хук, который должен работать при получении изменений в пустой репозиторий, или эта проблема вообще должна решаться как-то иначе?