summaryrefslogtreecommitdiff
path: root/util/scripts/prepare-commit-msg.clang-format
diff options
context:
space:
mode:
authorRonald G. Minnich <rminnich@gmail.com>2018-08-01 07:19:31 -0700
committerRonald G. Minnich <rminnich@gmail.com>2018-08-01 18:03:26 +0000
commitff22b6aca6daba2bf20b3eebd5299d03f906674c (patch)
tree2117c354989afce2458fb54d25423df0840f1db0 /util/scripts/prepare-commit-msg.clang-format
parentb9c049a3680f82fd62637f9e4bae1d5ef67fd504 (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>
Diffstat (limited to 'util/scripts/prepare-commit-msg.clang-format')
-rwxr-xr-xutil/scripts/prepare-commit-msg.clang-format13
1 files changed, 13 insertions, 0 deletions
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