#!/bin/bash

file="$1"
type="$2"

if [ -z "$type" ]; then # only run on new commits
    #
    # Save any commit message trailers generated by Git.
    #

    trailers=$(git interpret-trailers --parse "$file")

    #
    # Execute the Commitizen hook.
    #

    (exec < "/dev/tty" && npx --no-install git-cz --hook) || true

    #
    # Restore any trailers that Commitizen might have overwritten.
    #

    printf "\n" >> "$file"

    while IFS= read -r trailer; do
        git interpret-trailers --in-place --trailer "$trailer" "$file"
    done <<< "$trailers"
fi
