Files
ALR/scripts/fmt-precommit.sh
Евгений (ХрамычЪ) Храмов 6af712f1d5
Some checks failed
Pre-commit / pre-commit (push) Successful in 5m31s
Create Release / changelog (push) Failing after 2m29s
исправление pre-commit hooks для корректной работы с изменёнными файлами
2025-08-27 00:49:16 +03:00

37 lines
1.4 KiB
Bash
Executable File

#!/bin/bash
# ALR - Any Linux Repository
# Copyright (C) 2025 The ALR Authors
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
set -e
# Запускаем форматирование
make fmt || true
# Проверяем какие файлы были изменены (только те, что отслеживаются git)
CHANGED_FILES=$(git diff --name-only --diff-filter=M | grep '\.go$' || true)
# Если файлы были изменены, добавляем их в git
if [ ! -z "$CHANGED_FILES" ]; then
echo "Formatting changed the following files:"
echo "$CHANGED_FILES"
# Добавляем только измененные файлы, которые уже отслеживаются
echo "$CHANGED_FILES" | xargs -r git add
echo "Files were formatted and staged"
fi
echo "Formatting completed"
# Всегда возвращаем успех
exit 0