#!/usr/bin/env bash
#==========================================================================
#
#   Copyright Insight Software Consortium
#
#   Licensed under the Apache License, Version 2.0 (the "License");
#   you may not use this file except in compliance with the License.
#   You may obtain a copy of the License at
#
#          http://www.apache.org/licenses/LICENSE-2.0.txt
#
#   Unless required by applicable law or agreed to in writing, software
#   distributed under the License is distributed on an "AS IS" BASIS,
#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#   See the License for the specific language governing permissions and
#   limitations under the License.
#
#==========================================================================*/

egrep-q() {
  egrep "$@" >/dev/null 2>/dev/null
}

# First argument is file containing commit message.
commit_msg="$1"

# Check for our extra instructions.
egrep-q "^# Start BRAINSTools commit messages" -- "$commit_msg" && return 0

# Insert our extra instructions.
commit_msg_tmp="$commit_msg.$$"
sed 's/^# On branch.*/'\
'# Start BRAINSTools commit messages with a standard prefix (and a space):\
#   BUG:    - fix for runtime crash or incorrect result\
#   COMP:   - compiler error or warning fix\
#   DOC:    - documentation change\
#   ENH:    - new functionality\
#   PERF:   - performance improvement\
#   STYLE:  - no logic impact (indentation, comments)\
#   WIP:    - Work In Progress not ready for merge\
# To reference JIRA issue XY, add " (#XY)" to the END of the FIRST line.\
#/' "$commit_msg" > "$commit_msg_tmp" &&
sed '/^# On branch.*$/ a\
'"$instructions"'
/^# Not currently on any branch.*$/ a\
'"$instructions"'
' "$commit_msg" > "$commit_msg_tmp" &&
mv "$commit_msg_tmp" "$commit_msg"
