Назад | Перейти на главную страницу

Определить ветку в обработчике пост-обновления

У меня есть репозиторий git (gitosis), где у каждого разработчика есть основная ветка. У меня есть сценарий в хуке после обновления, который перестраивает основной веб-сайт и тестирует веб-сайты для каждого разработчика при каждом PUSH.

Я хочу перестроить только сайт, соответствующий зафиксированной ветке, но не знаю, как определить имя зафиксированной ветки. Может ли кто-нибудь помочь?

Каждый аргумент пост-обновления - это имя ссылки, которая была обновлена ​​нажатием, а ветвь - это ссылка, имя которой выглядит как refs/heads/<branch> поэтому сценарий, делающий то, что вы хотите, будет выглядеть примерно так:

#!/bin/sh

for ref in "$@"
do
  case "$ref" in
    refs/heads/*) /path/to/rebuild-site `basename $ref`;;
  esac
done