#!/usr/bin/env bash

# Описание
#
# Этот скрипт генерирует модуль на языке GDScript с информацией для
# контроля версий в системе git. Использовать для проектов созданных
# для GoDot Engine.
#
# Инструкция по применению
#
# 1. В папке ./git/hooks создать файлы:
#   - post-checkout
#   - post-commit
#   - post-merge
# 2. В каждый файл записать строку:
#   ./git-hook.sh
# 3. Теперь модуль scripts/commit.gd будет содержать данные
# о текущей версии, после выполнения следующих операций СКВ:
#   - переключение ветки;
#   - выполнение фиксации;
#   - выполнение слияния.

GDSCRIPT_FILE="scripts/commit.gd"
LOGFILE="проверка.log"
HEAD="$(git rev-parse --abbrev-ref HEAD) $(git rev-parse --short HEAD) $(git log -1 --format=%cd)"
if [ -n "$(git status --porcelain)" ]; then
  HEAD="Изменённый ${HEAD}"
fi
echo "extends Node" > ${GDSCRIPT_FILE}
echo "# Файл сгенерирован автоматически! Не изменять вручную!" >> ${GDSCRIPT_FILE}
echo "const VCS_HEAD = '${HEAD}'" >> ${GDSCRIPT_FILE}

echo "${HEAD}" > ${LOGFILE}
./check.sh . >> ${LOGFILE}
