scripts/git: Remove a duplicate practracker call from the pre-push hook

The pre-push hook already calls the pre-commit hook, which calls
practracker.

Also update the script comments to avoid similar issues in future.

Fixes bug 31462; bugfix on 0.4.1.1-alpha.
This commit is contained in:
teor
2019-08-20 12:21:02 +10:00
parent 36a27fa2d3
commit bdcccb9776
4 changed files with 29 additions and 17 deletions
+13 -3
View File
@@ -4,7 +4,8 @@
# tor git repo and make sure it has permission to execute.
#
# This is pre-commit git hook script that prevents commiting your changeset if
# it fails our code formatting or changelog entry formatting checkers.
# it fails our code formatting, changelog entry formatting, module include
# rules, or best practices tracker.
workdir=$(git rev-parse --show-toplevel)
@@ -40,6 +41,15 @@ if test -e scripts/maint/checkIncludes.py; then
python scripts/maint/checkIncludes.py
fi
if [ -e scripts/maint/practracker/practracker.py ]; then
python3 ./scripts/maint/practracker/practracker.py "$workdir"
# Only call practracker if ${PT_DIR}/.enable_practracker_in_hooks exists
# We do this check so that we can enable practracker in hooks in master, and
# disable it on maint branches
PT_DIR=scripts/maint/practracker
if [ -e "${PT_DIR}/practracker.py" ]; then
if [ -e "${PT_DIR}/.enable_practracker_in_hooks" ]; then
if ! python3 "${PT_DIR}/practracker.py" "$workdir"; then
exit 1
fi
fi
fi
+7 -11
View File
@@ -1,10 +1,11 @@
#!/usr/bin/env bash
# git pre-push hook script to:
# 0) Call the pre-commit hook, if it is available
# 1) prevent "fixup!" and "squash!" commit from ending up in master, release-*
# or maint-*
# 2) Disallow pushing branches other than master, release-*
# and maint-* to origin (e.g. gitweb.torproject.org).
# and maint-* to origin (e.g. gitweb.torproject.org)
#
# To install this script, copy it into .git/hooks/pre-push path in your
# local copy of git repository. Make sure it has permission to execute.
@@ -21,6 +22,11 @@ z40=0000000000000000000000000000000000000000
upstream_name=${TOR_UPSTREAM_REMOTE_NAME:-"upstream"}
# Are you adding a new check to the git hooks?
# - Common checks belong in the pre-commit hook
# - Push-only checks belong in the pre-push hook
#
# Call the pre-commit hook for the common checks, if it is executable.
workdir=$(git rev-parse --show-toplevel)
if [ -x "$workdir/.git/hooks/pre-commit" ]; then
if ! "$workdir"/.git/hooks/pre-commit; then
@@ -28,16 +34,6 @@ if [ -x "$workdir/.git/hooks/pre-commit" ]; then
fi
fi
PT_DIR=scripts/maint/practracker
if [ -e "${PT_DIR}/practracker.py" ]; then
if [ -e "${PT_DIR}/.enable_practracker_in_hooks" ]; then
if ! python3 "${PT_DIR}/practracker.py" "$workdir"; then
exit 1
fi
fi
fi
remote="$1"
remote_name=$(git remote --verbose | grep "$2" | awk '{print $1}' | head -n 1)