26 lines
1.1 KiB
Bash
Executable File
26 lines
1.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -eo pipefail
|
|
|
|
if [[ -z $(git diff --cached --name-only -r | grep status-go-version.json) ]]; then
|
|
exit 0 # No status-go-version.json changes found.
|
|
fi
|
|
|
|
# MacOS sed is garbage and interprets newlines differently.
|
|
[[ "$(uname)" -eq "Darwin" ]] && NL=$'\\\n' || NL="\n"
|
|
|
|
MERGE_BASE=$(git merge-base -a develop "$(git rev-parse --abbrev-ref HEAD)" develop)
|
|
GO_COMMIT_MERGE_BASE=$(git show "${MERGE_BASE}":status-go-version.json | awk -F'"' '/commit-sha1/{print $4}')
|
|
GO_COMMIT_CURRENT=$(awk -F'"' '/commit-sha1/{print $4}' status-go-version.json)
|
|
GITHUB_LINK_PREFIX="https://github.com/status-im/status-go/compare/"
|
|
# Link to the current StatusGo changelog being updated.
|
|
GITHUB_LINK="${GITHUB_LINK_PREFIX}${GO_COMMIT_MERGE_BASE::8}...${GO_COMMIT_CURRENT::8}"
|
|
|
|
COMMIT_MSG_FILE=$1
|
|
# Check if the commit message already contains the link (rebase) and update otherwise insert into line2
|
|
if ! grep -qF "${GITHUB_LINK_PREFIX}" "${COMMIT_MSG_FILE}" >/dev/null; then
|
|
sed -in'' -e "2i\\
|
|
${NL}${GITHUB_LINK}" "${COMMIT_MSG_FILE}"
|
|
else
|
|
sed -in'' -e "s;^${GITHUB_LINK_PREFIX}.*$;${GITHUB_LINK};" "${COMMIT_MSG_FILE}"
|
|
fi
|