123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- #!/bin/sh
- 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
|