Как обнаружить файл изменяется в GIT во время push - PullRequest
2 голосов
/ 20 ноября 2011

когда я помещаю что-то в свой GIT-репозиторий, запускается ловушка post-receive и выполняется несколько скриптов.Можно ли что-то делать перед выполнением этих сценариев, если (и только если) конкретный файл изменяется относительно предыдущего нажатия (например, файла .sql)?

Спасибо

Рандомизировать

1 Ответ

1 голос
/ 20 ноября 2011

В том же хуке после получения, что и в качестве первого шага, или в хуке предварительного получения или обновления, вы можете использовать

git diff-tree --name-status -rz

и передайте новый и старый ref, которые передаются в ловушку (либо stdin, либо аргументы), и получите файлы, проверьте на наличие изменений - M - статус и сделайте то, что вам нужно.

Также см. Здесь альтернативные способы: http://progit.org/book/ch7-4.html

...