Commit 0c16ec4c authored by Nick Mathewson's avatar Nick Mathewson 🤹
Browse files

Merge branch 'bug30286_2_squashed'

parents 8cb6b2b9 e8aab46a
Loading
Loading
Loading
Loading

changes/bug30286

0 → 100644
+4 −0
Original line number Diff line number Diff line
  o Minor bugfixes (developer tooling):
    - Fix pre-push hook to refrain from rejecting fixup and squash commits
      when pushing to non-upstream git remote. Fixes bug 30286; bugfix on
      0.4.0.1-alpha.
+23 −10
Original line number Diff line number Diff line
@@ -8,6 +8,9 @@
#
# 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.
# Furthermore, make sure that TOR_UPSTREAM_REMOTE_NAME environment
# variable is set to local name of git remote that corresponds to upstream
# repository on e.g. git.torproject.org.
#
# The following sample script was used as starting point:
# https://github.com/git/git/blob/master/templates/hooks--pre-push.sample
@@ -16,16 +19,7 @@ echo "Running pre-push hook"

z40=0000000000000000000000000000000000000000

remote="$1"

ref_is_upstream_branch() {
        if [ "$1" == "refs/heads/master" ] ||
                [[ "$1" == refs/heads/release-* ]] ||
                [[ "$1" == refs/heads/maint-* ]]
        then
                return 1
        fi
}
upstream_name=${TOR_UPSTREAM_REMOTE_NAME:-"upstream"}

workdir=$(git rev-parse --show-toplevel)
if [ -x "$workdir/.git/hooks/pre-commit" ]; then
@@ -40,6 +34,25 @@ if [ -e scripts/maint/practracker/practracker.py ]; then
  fi
fi

remote="$1"
remote_loc="$2"

remote_name=$(git remote --verbose | grep "$2" | awk '{print $1}' | head -n 1)

if [[ "$remote_name" != "$upstream_name" ]]; then
  echo "Not pushing to upstream - refraining from further checks"
  exit 0
fi

ref_is_upstream_branch() {
        if [ "$1" == "refs/heads/master" ] ||
                [[ "$1" == refs/heads/release-* ]] ||
                [[ "$1" == refs/heads/maint-* ]]
        then
                return 1
        fi
}

# shellcheck disable=SC2034
while read -r local_ref local_sha remote_ref remote_sha
do