summary refs log tree commit diff
path: root/githooks/commit-msg
blob: c4c7736d6aaba64feb50eb1db4b2c9dd66263d04 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#! /usr/bin/env bash
set -euo pipefail
change_id=$(head -c32 /dev/urandom | git hash-object --stdin)

cut_line='------------------------ >8 ------------------------'
if [ $(< "$1" sed -e "/^# ${cut_line}$/Q" | git stripspace --strip-comments | wc -c) -eq 0 ]; then
    # don't inhibit "Aborting commit due to empty commit message"
    exit 0
fi

git interpret-trailers \
    --if-exists doNothing \
    --trailer "Change-Id:I$change_id" \
    "$1" > "$1.tmp"
mv "$1.tmp" "$1"