Как обнаружить, что файл был изменен в GIT во время отправки

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

Спасибо

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


person Randomize    schedule 20.11.2011    source источник


Ответы (1)


В том же хуке post-receive в качестве первого шага или в хуке pre-receive или update вы можете использовать

git diff-tree --name-status -rz

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

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

person manojlds    schedule 20.11.2011
comment
извините, забыл: как я могу получить измененный файл (в данном случае файл sql) для его выполнения? - person Randomize; 20.11.2011