blob: 9c94fbc06012578ea6f498cf58d12dbf484299a1 [file] [log] [blame]
Martin Roth0ad5fbd2020-12-24 12:06:38 -07001#!/usr/bin/env sh
Patrick Georgif7437282018-05-24 17:36:41 +02002#
Patrick Georgi7333a112020-05-08 20:48:04 +02003# SPDX-License-Identifier: GPL-2.0-only
4
Patrick Georgif7437282018-05-24 17:36:41 +02005# DESCR: Run clang-format on white-listed directories
6
7LC_ALL=C export LC_ALL
8
9# until we require this by default, we need a list of opted-in directories
10if [ ! -f .clang-format-scope ]; then
11 exit 0
12fi
13
14files_to_check=$(git log HEAD~..HEAD --format= --name-only $(cat .clang-format-scope) |grep "\.[ch]$")
15
16# nothing to do
17if [ -z "$files_to_check" ]; then
18 exit 0
19fi
20
21if [ $(clang-format $files_to_check | wc -l) -gt 0 ]; then
Patrick Georgi27852902019-02-27 22:02:04 +010022 if [ "$(git diff --no-prefix HEAD~..HEAD -- $files_to_check | clang-format-diff)" != "" ]; then
23 echo "Coding style mismatch. The following patch fixes it:"
24 git diff --no-prefix HEAD~..HEAD -- $files_to_check | clang-format-diff
Angel Ponsce828b62019-08-31 02:46:42 +020025 exit 0
Patrick Georgi27852902019-02-27 22:02:04 +010026 fi
Patrick Georgif7437282018-05-24 17:36:41 +020027fi