git post-receive hook в php - PullRequest
       11

git post-receive hook в php

3 голосов
/ 24 января 2012

Я хочу иметь возможность выполнять ловушку php на ловушке после получения, копировать файлы из репозитория git в веб-папку на том же сервере и запускаться только в том случае, если он был помещен в основную ветку, игнорируя другие ветви. Ниже то, что у меня так далеко.

!/usr/bin/php
<?php

exec("git archive master | tar -x -C /var/www/", $output);

?>

По сути, я не уверен, как получить доступ к аргументам git, используя php.

1 Ответ

0 голосов
/ 24 января 2012

Не забудьте перехватить после получения не принимает аргументы : он считывает данные на stdin.

Сценарий «post-receive» запускается после того, как receive-pack принял пакет и хранилище было обновлено. Через stdin передаются аргументы в виде:

<oldrev> <newrev> <refname>

Так что вам нужно будет прочитать указанные аргументы, чтобы извлечь ветку (пример в bash, но вы можете адаптировать его)

...