Недавно я получил хук git от кого-то, кто намеревается добавить номер проблемы, который находится в указанном c местоположении названия ветви, к началу всех коммитов. Цель состоит в том, чтобы взять #number
из feature/#number-issue
. Вот некоторая информация:
➜ .githooks pwd
/home/luctia/.githooks
➜ .githooks git config --global --list
user.name=luctia
user.email=myemail
core.hookspath=/home/luctia/.githooks
➜ .githooks cat commit-msg
#!/bin/sh
WI=$(git status --branch | grep -iPo "(feature|bug)\/#\d+" | head -1)
WI=$(echo "($WI)" | grep -Po "\d+")
if [[ ! -z "$WI" ]]; then
WI="#$WI"
CM=$(cat "$1")
if [[ ! $CM == *"$WI "* ]]; then
echo "$WI $CM" > "$1"
fi
fi
Это, похоже, не работает. Сценарий исполняется для каждого пользователя, так что это не проблема. Я попытался переключиться с sh
на bash
, и с этим редактированием я выполнил сценарий для файла в репозитории, который добавил число в начало файла, так что я знаю, что это работает. Я не уверен, что git хуки могут выполнять bash файлы, но не имеет значения, использую ли я sh
или bash
, хотя я хотел бы знать, может ли он запускать bash скрипты .
Я сейчас использую Webstorm для своей IDE, и он там не работает, а также не работает на CLI git. Я понятия не имею, как поступить.
Редактировать: Я почти уверен, что сценарий не выполняется. Когда я добавляю data > /tmp/hook
к сценарию, файл не появляется. Я должен измениться с sh
на bash
.