Я использую prepare-commit-message
ловушку, чтобы добавить пользовательское многострочное сообщение к моим коммитам.Это сообщение приходит из другого источника.
Содержимое моего файла перехвата выглядит так:
COMMIT_MSG_FILE=$1
COMMIT_SOURCE=$2
SHA1=$3
MESSAGE=$(some_command)
if [ -z ${2+x} ]; then
sed -i.back "1s/^/$MESSAGE \n/" "$1"
fi
Это работает, когда MESSAGE
представляет собой одну строку текста.Но когда он многострочный, я получаю
unescaped newline inside substitute pattern
.
echo $MESSAGE
даст мне что-то вроде:
aaaa
bbbb
По сути, я хочу сделать следующее:всякий раз, когда я фиксирую, сообщение о фиксации должно содержать:
<here i will enter my commit message>
aaaa
bbbb
# Please enter the commit message for your changes. Lines starting
...