tor/scripts/git/post-merge.git-hook
Alexander Færøy 22552ad88e Update scripts to use main instead of master.
When talking about the "master" Tor checkout, we now refer to it as "the
primary Tor repository". The "master" branch is instead called "main".

See: tpo/core/team#2.
2021-05-25 00:20:58 +00:00

52 lines
1.4 KiB
Bash
Executable File

#!/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 "==============================="
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" != "main" ]; then
echo "post-merge: Not a main 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