25 lines
857 B
Bash
Executable File
25 lines
857 B
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
fmtcount=`git ls-files | grep '.go$' | xargs gofmt -l 2>&1 | wc -l`
|
|
if [ $fmtcount -gt 0 ]; then
|
|
echo "Some files aren't formatted, please run 'go fmt ./...' to format your source code before committing"
|
|
exit 1
|
|
fi
|
|
|
|
# Due to the way composites work, vet will fail for some of our tests so we ignore it
|
|
vetcount=`go tool vet --composites=false ./ 2>&1 | wc -l`
|
|
if [ $vetcount -gt 0 ]; then
|
|
echo "Some files aren't passing vet heuristics, please run 'go vet ./...' to see the errors it flags and correct your source code before committing"
|
|
exit 1
|
|
fi
|
|
exit 0
|
|
|
|
# Ensure FIXME lines are removed before commit.
|
|
fixme_lines=$(git diff --cached | grep ^+ | grep -v pre-commit | grep FIXME | sed 's_^+\s*__g')
|
|
if [ "$todo_lines" != "" ]; then
|
|
echo "Please remove the following lines:"
|
|
echo -e "$todo_lines"
|
|
exit 1
|
|
fi
|
|
|