diff options
author | Andrew Gerrand <adg@golang.org> | 2012-11-15 19:58:49 +0100 |
---|---|---|
committer | Andrew Gerrand <adg@golang.org> | 2012-11-15 19:58:49 +0100 |
commit | 7add35eb27a367fda28a76119a0c10544400c71c (patch) | |
tree | defe25784353d57e065457ede2ecdc07ce8f72e6 /misc/git | |
parent | bd1a481960562122f32a45da459012ab9acf0397 (diff) | |
download | go-7add35eb27a367fda28a76119a0c10544400c71c.tar.gz |
misc/git: add gofmt git pre-commit hook
R=golang-dev, bradfitz, ftrvxmtrx, franciscossouza, r, minux.ma
CC=golang-dev
http://codereview.appspot.com/6843044
Diffstat (limited to 'misc/git')
-rwxr-xr-x | misc/git/pre-commit | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/misc/git/pre-commit b/misc/git/pre-commit new file mode 100755 index 000000000..18b7f832f --- /dev/null +++ b/misc/git/pre-commit @@ -0,0 +1,26 @@ +#!/bin/sh +# Copyright 2012 The Go Authors. All rights reserved. +# Use of this source code is governed by a BSD-style +# license that can be found in the LICENSE file. + +# git gofmt pre-commit hook +# +# To use, store as .git/hooks/pre-commit inside your repository and make sure +# it has execute permissions. +# +# This script does not handle file names that contain spaces. + +gofiles=$(git diff --cached --name-only --diff-filter=ACM | grep '.go$') +[ -z "$gofiles" ] && exit 0 + +unformatted=$(gofmt -l $gofiles) +[ -z "$unformatted" ] && exit 0 + +# Some files are not gofmt'd. Print message and fail. + +echo >&2 "Go files must be formatted with gofmt. Please run:" +for fn in $unformatted; do + echo >&2 " gofmt -w $PWD/$fn" +done + +exit 1 |