From 0fc1a7fe208e022b1bffdc4a010ab28208041a53 Mon Sep 17 00:00:00 2001 From: teutat3s Date: Tue, 2 Aug 2022 15:39:03 +0200 Subject: [PATCH] hooks: apply upstream pre-commit changes --- shell/hooks/pre-commit.sh | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/shell/hooks/pre-commit.sh b/shell/hooks/pre-commit.sh index 329ae3f4..4adf6c0a 100755 --- a/shell/hooks/pre-commit.sh +++ b/shell/hooks/pre-commit.sh @@ -13,25 +13,29 @@ diff="git diff-index --name-only --cached $against --diff-filter d" mapfile -t nix_files < <($diff -- '*.nix') mapfile -t all_files < <($diff) -# Format staged nix files. -if [[ -n "${nix_files[@]}" ]]; then - # stash only unstaged changes, keeping staged changes +# Format staged nix files +if (( ${#nix_files[@]} != 0 )); then + # Stash only unstaged changes, keeping staged changes old_stash=$(git rev-parse --quiet --verify refs/stash) git stash push --quiet --keep-index -m 'Unstaged changes before pre-commit hook' new_stash=$(git rev-parse --quiet --verify refs/stash) - # format staged changes + # Format staged changes nixpkgs-fmt "${nix_files[@]}" \ && git add "${nix_files[@]}" - # if unstaged changes were stashed reapply to working tree + # If unstaged changes were stashed re-apply to working tree if [ "$old_stash" != "$new_stash" ]; then git stash pop --quiet fi fi -# check editorconfig -if ! editorconfig-checker -- "${all_files[@]}"; then +# Check editorconfig +if (( ${#all_files[@]} != 0 )); then + editorconfig-checker -- "${all_files[@]}" +fi + +if [[ $? != '0' ]]; then printf "%b\n" \ "\nCode is not aligned with .editorconfig" \ "Review the output and commit your fixes" >&2