2017-03-06 2 views
0

Comment procéder pour écrire un hook post-réception qui fait quelque chose quand il y a un changement dans un répertoire spécifique de la branche master? Jusqu'ici j'ai compris comment déterminer si la poussée implique la branche maîtresse, mais je travaille à déterminer si le répertoire donné a changé. Je suppose que je dois faire de la magie git ici.Githook à msg sur la modification du répertoire spécifique

Dans ce cas, je veux vérifier s'il y a des changements dans le répertoire schema/. C'est tout ce que j'ai jusqu'ici, que j'ai attrapé des docs.

#!/bin/bash 
echo POST-RECEIVE 
while read oldrev newrev refname 
do 
    branch=$(git rev-parse --symbolic --abbrev-ref $refname) 
    if [ "master" == "$branch" ]; then 
     do_something $oldrev $newrev $refname 
    fi 
done 

Répondre

0

Effectuez un git diff --name-only $oldrev $newrev et vérifiez la sortie de votre chemin.

0

Cela convient à mes besoins pour l'instant.

#!/bin/bash 
echo POST-RECEIVE 
while read oldrev newrev refname 
do 
    branch=$(git rev-parse --symbolic --abbrev-ref $refname) 
    if [ "master" == "$branch" ]; then 
     git diff --quiet --exit-code $oldrev $newrev -- schema/ || echo SUCCESS 
    fi 
done