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 на стандартном вводе

Другие вопросы по тегам