#!/usr/bin/env sh

set -e

# Skip amends.
if [ -z "${WINDIR}" ]; then
	COMMAND="$(ps -p "${PPID}")"
	if echo "${COMMAND}" | grep -Fq -e '--amend'; then
		exit 0
	fi
fi

# Skip hooks if requested.
if [ -n "${GIT_NO_HOOKS}" ]; then
	exit 0
fi

# Only tag commits made to main.
REF="$(git rev-parse --abbrev-ref HEAD)"
if [ ! "${REF}" = "main" ]; then
	exit 0
fi

# Get version line
LINE="$(grep "^Version:" DESCRIPTION)"
OLD="$(echo "${LINE}" | cut -d' ' -f2)"
if [ -z "${OLD}" ]; then
	exit 0
fi

# Construct new version
LHS="$(echo "${OLD}" | cut -d'-' -f1)"
RHS="$(echo "${OLD}" | cut -d'-' -f2)"
if [ "${LHS}" = "${RHS}" ]; then
  RHS="0"
fi

# Bump the patch number
: $((RHS+=1))
NEW="${LHS}-${RHS}"

# Replace the line in the DESCRIPTION
REPLACEMENT="Version: ${NEW}"
sed -i.backup "s/${LINE}/${REPLACEMENT}/g" DESCRIPTION
rm DESCRIPTION.backup
git add DESCRIPTION

# Let the user know we did some work
echo "[i] Updated version in DESCRIPTION file: '${OLD}' -> '${NEW}'"

