#git #hudson
#git #хадсон
Вопрос:
В настоящее время я использую Hudson для сборки и тестирования приложений на python и c , используя git в качестве серверной части.
Мне было интересно, есть ли хороший способ установить «запускать тест X только в том случае, если файлы в каталоге / foo / bar / baz изменились».
РЕДАКТИРОВАТЬ: Да, я знаю, что существуют git-хуки, но мне было интересно, как определить разницу между последней проверенной ревизией и текущей ревизией.
Ответ №1:
Вы могли бы использовать Git-хукеры для просмотра каждого нового коммита после нажатия и определения, являются ли файлы, затронутые в этих коммит, частью указанного вами каталога.
РЕДАКТИРОВАТЬ: Вы могли бы сделать что-то вроде этого:
- Получите SHA последнего коммита на сервере (git rev-parse origin / master)
- Получите SHA последнего коммита в вашей локальной ветке (git rev-parse master)
- Используйте два SHA для выполнения ‘git diff —name-only SHA1 SHA2’ на сервере, чтобы увидеть, попала ли фиксация в ваш каталог.
Параметр —name-only вернет только измененные файлы.