diff options
author | Ronald G. Minnich <rminnich@gmail.com> | 2018-08-01 07:19:31 -0700 |
---|---|---|
committer | Ronald G. Minnich <rminnich@gmail.com> | 2018-08-01 18:03:26 +0000 |
commit | ff22b6aca6daba2bf20b3eebd5299d03f906674c (patch) | |
tree | 2117c354989afce2458fb54d25423df0840f1db0 | |
parent | b9c049a3680f82fd62637f9e4bae1d5ef67fd504 (diff) |
make: add clang-format prepare-commit-msg hook
To install this hook, run
make install-git-commit-clangfmt
This will install a pre-commit-msg hook that runs clang-format
on all .c and .h files that are staged.
It will add a clang-formatted-by: <git username>
line to the commit message to indicate that clang-format
was run on the files and that further processing of them
is not needed.
Change-Id: I1773f55b5b4677dad8f4bea017b6328fd93df20c
Signed-off-by: Ronald G. Minnich <rminnich@gmail.com>
Reviewed-on: https://review.coreboot.org/27779
Reviewed-by: Patrick Georgi <pgeorgi@google.com>
Reviewed-by: Philipp Deppenwiese <zaolin.daisuki@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
-rw-r--r-- | Makefile.inc | 3 | ||||
-rwxr-xr-x | util/scripts/prepare-commit-msg.clang-format | 13 |
2 files changed, 16 insertions, 0 deletions
diff --git a/Makefile.inc b/Makefile.inc index fe325048f8..aa93222920 100644 --- a/Makefile.inc +++ b/Makefile.inc @@ -597,6 +597,9 @@ update: gitconfig: util/gitconfig/gitconfig.sh "$(MAKE)" +install-git-commit-clangfmt: + cp util/scripts/prepare-commit-msg.clang-format .git/hooks/prepare-commit-msg + include util/crossgcc/Makefile.inc .PHONY: tools diff --git a/util/scripts/prepare-commit-msg.clang-format b/util/scripts/prepare-commit-msg.clang-format new file mode 100755 index 0000000000..7033f3cc07 --- /dev/null +++ b/util/scripts/prepare-commit-msg.clang-format @@ -0,0 +1,13 @@ +#!/bin/bash +files=`git diff --cached --name-only | grep '\.[ch]$'` +if [ -z "$files" ]; then + exit 0 +fi +# This has to be set here; otherwise a grep error seems to cause +# us to exit with non-zero status. +set -e +clang-format -i $files +git add $files +u=`git config user.name` +m="clang-formatted-by: $u" +echo $m >> $1 |