diff options
author | Martin Roth <martin@coreboot.org> | 2022-06-03 00:06:57 -0600 |
---|---|---|
committer | Martin L Roth <gaumless@gmail.com> | 2022-09-30 19:19:53 +0000 |
commit | d81debd9467f7e0d5a255ed7f6b5f1916c613b77 (patch) | |
tree | 224623fc3af10180d652c7c0d7c39925e74e3763 /util/lint/lint-stable-022-clang-format | |
parent | 7726a7f272965d9279e4c8008b893751203aa304 (diff) |
util/lint: Update tools that use git to use a library
Each of the tools that used git had similar functionality. This combines
all of that into a single script that gets sourced by each. This makes
maintenance much easier.
By doing this and updating each of the scripts to do the correct thing
if the script isn't being run in a git repository, it makes them work
much better for the releases, which are just released as a tarball,
without any attached git repository.
Change-Id: I61ba1cc4f7205e0d4baf993588bbc774120405cb
Signed-off-by: Martin Roth <martin@coreboot.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/64973
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Elyes Haouas <ehaouas@noos.fr>
Diffstat (limited to 'util/lint/lint-stable-022-clang-format')
-rwxr-xr-x | util/lint/lint-stable-022-clang-format | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/util/lint/lint-stable-022-clang-format b/util/lint/lint-stable-022-clang-format index 9c94fbc060..4a602f798a 100755 --- a/util/lint/lint-stable-022-clang-format +++ b/util/lint/lint-stable-022-clang-format @@ -4,14 +4,21 @@ # DESCR: Run clang-format on white-listed directories -LC_ALL=C export LC_ALL +LINTDIR="$( + cd -- "$(dirname "$0")" > /dev/null 2>&1 || return + pwd -P +)" -# until we require this by default, we need a list of opted-in directories -if [ ! -f .clang-format-scope ]; then +# shellcheck source=helper_functions.sh +. "${LINTDIR}/helper_functions.sh" + +# Until we require this by default, we need a list of opted-in directories +# If the script isn't looking at a git repository, just exit +if [ ! -f .clang-format-scope ] || [ "${IN_GIT_TREE}" -eq 0 ]; then exit 0 fi -files_to_check=$(git log HEAD~..HEAD --format= --name-only $(cat .clang-format-scope) |grep "\.[ch]$") +files_to_check=$(${GIT} log HEAD~..HEAD --format= --name-only $(cat .clang-format-scope) | grep "\.[ch]$") # nothing to do if [ -z "$files_to_check" ]; then @@ -19,9 +26,9 @@ if [ -z "$files_to_check" ]; then fi if [ $(clang-format $files_to_check | wc -l) -gt 0 ]; then - if [ "$(git diff --no-prefix HEAD~..HEAD -- $files_to_check | clang-format-diff)" != "" ]; then + if [ "$(${GIT} diff --no-prefix HEAD~..HEAD -- $files_to_check | clang-format-diff)" != "" ]; then echo "Coding style mismatch. The following patch fixes it:" - git diff --no-prefix HEAD~..HEAD -- $files_to_check | clang-format-diff + ${GIT} diff --no-prefix HEAD~..HEAD -- $files_to_check | clang-format-diff exit 0 fi fi |