2017-03-06 3 views
0

マスターブランチの特定のディレクトリに変更があった場合に、何かを行うポスト受信フックを書く方法を教えてください。これまでは、プッシュにマスターブランチが含まれているかどうかを判断する方法を理解しましたが、指定されたディレクトリが変更されたかどうかを判断しています。私はここでいくつかのgitの魔法をしなければならないと仮定します。特定ディレクトリへの変更に関するGithookへのメッセージ

この場合、schema/ディレクトリに変更があるかどうか確認したいと思います。これは私がこれまでに持っていたすべてのことであり、ドキュメントから手に入れました。

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

答えて

0

git diff --name-only $oldrev $newrevを作成し、パスの出力を確認します。

0

これは私の今のニーズに合っています。

#!/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 
関連する問題