2017-03-06 2 views
0

Wie würde man einen Post-receive-Hook schreiben, der etwas tut, wenn es ein bestimmtes Verzeichnis auf dem Hauptzweig ändert? Bisher habe ich herausgefunden, wie man feststellen kann, ob der Push den Master-Zweig betrifft, aber ich arbeite daran, festzustellen, ob sich das angegebene Verzeichnis geändert hat. Ich nehme an, ich muss hier ein bisschen Magie machen.Githook zu msg bei Änderung zu spezifischem Verzeichnis

In diesem Fall möchte ich überprüfen, ob es Änderungen im Verzeichnis schema/ gibt. Das ist alles was ich bis jetzt habe, was ich aus der Dokumentation gepackt habe.

#!/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 

Antwort

0

ein git diff --name-only $oldrev $newrev Stellen und die Ausgabe für Ihren Weg überprüfen.

0

Dies entspricht meinen Bedürfnissen für jetzt.

#!/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 
Verwandte Themen