#!/bin/sh # script/precommit: run by the git pre-commit hook; fails the commit if # checks fail. Our extension to scripts-to-rule-them-all. Go repo extra: # `go mod tidy` must not change go.mod/go.sum. set -eu SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd -P)" ROOT="$(cd "$SCRIPT_DIR/.." && pwd -P)" main() { cd "$ROOT" go mod tidy git diff --exit-code -- go.mod go.sum || { echo "precommit: go mod tidy changed go.mod/go.sum;" \ "stage the changes and retry" >&2 exit 1 } "$SCRIPT_DIR/check" } main "$@"