xref: /aosp_15_r20/external/arm-trusted-firmware/.husky/prepare-commit-msg.cz (revision 54fd6939e177f8ff529b10183254802c76df6d08)
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