You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
31 lines
945 B
31 lines
945 B
#!/bin/bash
|
|
#
|
|
# Copyright (c) 2015 Google Inc.
|
|
#
|
|
# This is a pre-push hook that does the following before uploading a
|
|
# CL for review:
|
|
# 1) check that python sources have been formatted with yapf.
|
|
# 2) allows the user to run the unit tests.
|
|
|
|
mydir="$(dirname "$(readlink -m "$0")")"
|
|
|
|
z40=0000000000000000000000000000000000000000
|
|
|
|
while IFS=' ' read local_ref local_sha remote_ref remote_sha; do
|
|
if [[ "$local_sha" != $z40 ]]; then
|
|
if [[ "$remote_sha" == $z40 ]]; then
|
|
# New branch, examine commit on top of branch.
|
|
range="$local_sha"
|
|
else
|
|
# Update to existing branch, examine new commits
|
|
range="$remote_sha..$local_sha"
|
|
fi
|
|
all_files="$(git show --pretty="format:" --name-only "${range}")"
|
|
# Note that ${all_files} may include files that were deleted. Hence, we
|
|
# ignore any complaints about missing files.
|
|
IGNORE_MISSING=1 "${mydir}/check-presubmit" ${all_files} || exit 1
|
|
fi
|
|
done
|
|
|
|
exit 0
|