| 1234567891011121314151617181920212223242526272829 |
- #!/bin/bash
- get_ticket_number() {
- git symbolic-ref --short HEAD | grep -Ei '^ocst-[0-9]{2,5}-' | sed -E 's/^(ocst-[0-9]{2,5}).*$/\1/i' | tr '[:upper:]' '[:lower:]'
- }
- format_commit_message() {
- local message="$1"
- local ticket="$2"
- if echo "$message" | grep -E '^[^:]+:' >/dev/null; then
- local type=$(echo "$message" | cut -d: -f1)
- local content=$(echo "$message" | cut -d: -f2- | sed 's/^ //')
- echo "$type($ticket): $content"
- else
- echo "$message"
- fi
- }
- main() {
- local ticket=$(get_ticket_number)
- if [ -n "$ticket" ]; then
- git commit -m "$(format_commit_message "$1" "$ticket")" "${@:2}"
- else
- git commit -m "$1" "${@:2}"
- fi
- }
- main "$@"
|