Files
state-corp-backend/scripts/setup-precommit.sh
Aleksandr Meshchriakov e9d7f24aaa
Some checks failed
CI/CD Pipeline / Run Tests (push) Failing after 0s
CI/CD Pipeline / Code Quality Checks (push) Failing after 1m43s
CI/CD Pipeline / Build Docker Images (push) Has been skipped
CI/CD Pipeline / Push to Gitea Registry (push) Has been skipped
first commit
2026-01-21 12:07:35 +01:00

41 lines
1.6 KiB
Bash

#!/bin/bash
# Скрипт установки и настройки pre-commit хуков
echo "🔧 Настройка pre-commit хуков..."
# Проверка наличия Git
if ! command -v git &> /dev/null; then
echo "❌ Git не найден. Установите Git и повторите попытку."
exit 1
fi
# Создание директории для хуков если её нет
HOOKS_DIR=".git/hooks"
if [ ! -d "$HOOKS_DIR" ]; then
mkdir -p "$HOOKS_DIR"
echo "📁 Создана директория для git hooks"
fi
# Копирование pre-commit хука
if [ -f ".git/hooks/pre-commit" ]; then
echo "🔄 Обновление существующего pre-commit хука"
else
echo "📥 Установка нового pre-commit хука"
fi
# Делаем хук исполняемым
chmod +x .git/hooks/pre-commit
echo "✅ Pre-commit хук установлен и готов к использованию"
echo ""
echo "📋 Что проверяет pre-commit хук:"
echo " • Синтаксис Python файлов"
echo " • Стиль кода (flake8)"
echo " • Форматирование (black)"
echo " • Сортировка импортов (isort)"
echo " • Формат YAML файлов"
echo " • Пробелы в конце строк"
echo " • Закрывающие переводы строк"
echo ""
echo "💡 Хук автоматически запускается при каждом коммите"
echo "💡 Для пропуска проверок используйте: git commit --no-verify"