#!/bin/sh

echo "[HOOK] pre-commit запущен"

if [ -f "$(git rev-parse --git-dir)/MERGE_HEAD" ]; then
  echo "[HOOK] Это merge-коммит — pre-commit пропущен."
  exit 0
fi

ALL_FILES=$(git diff --cached --name-only)

FILES=""
for f in $ALL_FILES; do
  if [ -f "$f" ]; then
    FILES="$FILES $f"
  fi
done

if [ -z "$FILES" ]; then
  echo "[HOOK] Нет файлов для обработки (все удалены или отсутствуют)."
  exit 0
else
  echo "[HOOK] Найдены проиндексированные файлы:"
  echo "$FILES"
fi

hook_dir=$(dirname "$0")
ps1_script=$(cd "$hook_dir" && pwd -W)/pre-commit.ps1

powershell.exe -ExecutionPolicy Bypass -File "$ps1_script" -files "$FILES"
code=$?

if [ "$code" -ne 0 ]; then
  echo "[HOOK] ❌ Ошибка при проверке конфигурации 1С (exit code $code)"
  exit 1
fi

echo "[HOOK] ✅ Проверка пройдена успешно"
exit 0
