Git post-receive для проверки только тех файлов, которые были изменены / добавлены в push?
Я использовал сценарии post-receive в моих репозиториях git со следующими командами для извлечения всех файлов в репозитории:
#!/bin/sh
GIT_WORK_TREE=/var/www/www.example.org git checkout -f
Я хочу сделать что-то подобное, но только извлекать файлы, которые были изменены или добавлены в push. Как только файлы извлечены, сценарий пост-получения запустит некоторые другие команды для этих файлов и в конце удалит файлы, так что каталог будет пустым.
Это возможно?
1 ответ
Решение
Ты можешь использовать git diff
дать вам список файлов
git diff --name-only from..to
в пост-получить крючок, который будет, я думаю,
git diff --name-only $1..$2
как этот хук получает oldrev
, newrev
а также ref
на стандартном вводе