1*54fd6939SJiyong Park#!/bin/bash 2*54fd6939SJiyong Park 3*54fd6939SJiyong Parkfile="$1" 4*54fd6939SJiyong Parktype="$2" 5*54fd6939SJiyong Park 6*54fd6939SJiyong Parkif [ -z "$type" ]; then # only run on new commits 7*54fd6939SJiyong Park # 8*54fd6939SJiyong Park # Save any commit message trailers generated by Git. 9*54fd6939SJiyong Park # 10*54fd6939SJiyong Park 11*54fd6939SJiyong Park trailers=$(git interpret-trailers --parse "$file") 12*54fd6939SJiyong Park 13*54fd6939SJiyong Park # 14*54fd6939SJiyong Park # Execute the Commitizen hook. 15*54fd6939SJiyong Park # 16*54fd6939SJiyong Park 17*54fd6939SJiyong Park (exec < "/dev/tty" && npx --no-install git-cz --hook) || true 18*54fd6939SJiyong Park 19*54fd6939SJiyong Park # 20*54fd6939SJiyong Park # Restore any trailers that Commitizen might have overwritten. 21*54fd6939SJiyong Park # 22*54fd6939SJiyong Park 23*54fd6939SJiyong Park printf "\n" >> "$file" 24*54fd6939SJiyong Park 25*54fd6939SJiyong Park while IFS= read -r trailer; do 26*54fd6939SJiyong Park git interpret-trailers --in-place --trailer "$trailer" "$file" 27*54fd6939SJiyong Park done <<< "$trailers" 28*54fd6939SJiyong Parkfi 29