mirror of
https://github.com/opdavies/build-configs.git
synced 2025-03-23 13:18:22 +00:00
...messages Add a `prepare-commit-msg` hook to automaically add `Refs` values, such as issue IDs or commit SHAs to a Git commit message body by replacing an `ISSUE_ID` placeholder that can be added to a commit message template.
26 lines
681 B
Twig
Executable file
26 lines
681 B
Twig
Executable file
#!/usr/bin/env bash
|
|
|
|
# {{ managedText }}
|
|
|
|
set -euo pipefail
|
|
|
|
# Load the issue ID from an `.issue-id` file within the project and replace the
|
|
# `ISSUE_ID` placeholder within a Git commit message.
|
|
#
|
|
# For example, running `echo "OD-123" > .issue-id` will add `Refs: OD-123` to
|
|
# the commit message.
|
|
#
|
|
# This also works with multiple issue IDs in the same string, e.g.
|
|
# "OD-123 OD-456".
|
|
|
|
PROJECT_DIR=$(git rev-parse --show-toplevel) # Get the root directory of the repo
|
|
ISSUE_FILE="$PROJECT_DIR/.issue-id"
|
|
|
|
if [ -f "${ISSUE_FILE}" ]; then
|
|
ISSUE_ID=$(cat "${ISSUE_FILE}" | sed 's/ /, /g')
|
|
|
|
if [ -n "${ISSUE_ID}" ]; then
|
|
sed -i.bak "s/# ISSUE_ID/Refs: $ISSUE_ID/" "$1"
|
|
fi
|
|
fi
|