mirror of
https://github.com/react/react-native-devtools-frontend.git
synced 2026-10-01 01:38:07 +08:00
39 lines
1.0 KiB
Bash
Executable File
39 lines
1.0 KiB
Bash
Executable File
#!/bin/bash
|
|
#
|
|
# Validate commit message matches our expected format
|
|
#
|
|
# Arguments:
|
|
# <commit> Commit revision to validate
|
|
#
|
|
# Example:
|
|
# ./validate-commit-msg.sh abcdef0
|
|
|
|
# Exit on first error
|
|
set -e
|
|
|
|
# If we didn't receive a commit, then error out
|
|
# DEV: If want the HEAD commit, then use `git rev-parse HEAD`
|
|
COMMIT_REV="$1"
|
|
if [ -z "$COMMIT_REV" ]; then
|
|
echo "Expected a commit revision to validate but received nothing" 1>&2
|
|
exit 1
|
|
fi
|
|
|
|
|
|
# Resolve our file for output
|
|
# DEV: We use `.git` to avoid cluttering the working directory
|
|
GIT_DIR="$(git rev-parse --git-dir)"
|
|
TARGET_FILENAME=VALIDATE_COMMIT_MSG
|
|
TARGET_FILE="$GIT_DIR/$TARGET_FILENAME"
|
|
|
|
echo "Retrieving relevant commit message for $COMMIT_REV"
|
|
# Output our log message to a file
|
|
# DEV: We use `--no-merges` to skip merge commits introduced by GitHub
|
|
git log --no-merges --format=format:"%s" -n 1 "$COMMIT_REV" > "$TARGET_FILE"
|
|
|
|
echo "Validating contents of $TARGET_FILE"
|
|
cat "$TARGET_FILE"
|
|
|
|
# Validate our message
|
|
./node_modules/.bin/validate-commit-msg "$TARGET_FILENAME"
|