Git post-receive для проверки только тех файлов, которые были изменены / добавлены в push? - PullRequest
6 голосов
/ 28 февраля 2012

Я использую сценарии пост-получения в своих репозиториях git со следующими командами для извлечения всех файлов в репозитории:

#!/bin/sh
GIT_WORK_TREE=/var/www/www.example.org git checkout -f

Я хочу сделать что-то подобное, но только извлекать файлы, которые были изменены или добавлены в push. Как только файлы извлечены, сценарий пост-получения запустит некоторые другие команды для этих файлов и в конце удалит файлы, чтобы каталог стал пустым.

Возможно ли это?

1 Ответ

5 голосов
/ 28 февраля 2012

вы можете использовать git diff, чтобы получить список файлов

git diff --name-only from..to

в пост-получении хуке, который, я думаю, будет

git diff --name-only $1..$2

, поскольку этот хук получает oldrev, newrev и ref на стандартный вход

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...