git_toplevel=$(git rev-parse --show-toplevel)
check_for_diffs() {
installed="$git_toplevel/.git/hooks/$1"
latest="$git_toplevel/scripts/git/$1.git-hook"
if [ -e "$installed" ]
then
if ! cmp "$installed" "$latest" >/dev/null 2>&1
then
echo "ATTENTION: $1 hook has changed:"
echo "==============================="
diff -u "$installed" "$latest"
fi
fi
}
check_for_script_update() {
fullpath="$1"
if ! git diff ORIG_HEAD HEAD --exit-code -- "$fullpath" >/dev/null
then
echo "ATTENTION: $1 has changed:"
git --no-pager diff ORIG_HEAD HEAD -- "$fullpath"
fi
}
cur_branch=$(git rev-parse --abbrev-ref HEAD)
if [ "$cur_branch" != "master" ]; then
echo "post-merge: Not a master branch. Skipping."
exit 0
fi
check_for_diffs "pre-push"
check_for_diffs "pre-commit"
check_for_diffs "post-merge"
for file in "$git_toplevel"/scripts/git/* ; do
check_for_script_update "$file"
done