tor/scripts/git/post-merge.git-hook

46 lines
1.3 KiB
Plaintext
Raw Normal View History

#!/bin/sh
# This is post-merge git hook script to check for changes in:
# * git hook scripts
# * helper scripts for using git efficiently.
# If any changes are detected, a diff of them is printed.
#
# To install this script, copy it to .git/hooks/post-merge in local copy of
# tor git repo and make sure it has permission to execute.
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 "==============================="
2019-03-06 18:55:38 +01:00
diff -u "$installed" "$latest"
fi
fi
}
check_for_script_update() {
fullpath="$1"
2019-03-06 18:42:29 +01:00
if ! git diff ORIG_HEAD HEAD --exit-code -- "$fullpath" >/dev/null
then
echo "ATTENTION: $1 has changed:"
2019-03-08 17:50:49 +01:00
git --no-pager diff ORIG_HEAD HEAD -- "$fullpath"
2019-03-06 18:42:29 +01:00
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