mirror of
https://github.com/opdavies/build-configs.git
synced 2025-03-13 05:26:56 +00:00
feat(git): automatically add refs
to commit
...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.
This commit is contained in:
parent
17142d868f
commit
ac854bf8c7
25
templates/git-hooks/prepare-commit-msg.twig
Executable file
25
templates/git-hooks/prepare-commit-msg.twig
Executable file
|
@ -0,0 +1,25 @@
|
|||
#!/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
|
Loading…
Reference in a new issue