GIT Крючки для Windows с пакетной загрузкой

Я пытаюсь создать правило git hook, где коммиты могут быть сделаны только при изменении файла myexamplefile.txt.

Я установил свой файл .githookscommit-msg:

for /f "tokens=*" %i in ('git status ^| find /c "AssemblyInfo.cs"') do set x=%i
if %x% (
    echo "nice"
    exit 0
)
else (
    echo "fuck"
    exit 1
)

Я работаю над этим кодом некоторое время, но у меня возникают несколько ошибок, сейчас я получаю:

строка 28: синтаксическая ошибка возле неожиданного токена `" tokens = * "'

Как я могу написать этот крюк? Важно заметить, что я в среде Windows.

git,batch-file,githooks,

1

Ответов: 1


1 принят

Любые git-крючки будут выполняться по умолчанию в сеансе bash, а не в CMD-сеансе.
В Windows встроенный bash для Git для Windows интерпретирует скрипт hook.

Поэтому попробуйте переписать свой крючок в bash:

#!/bin/bash

f=$(git status | grep "AssemblyInfo.cs")
if [[ "${f}" != "" ]]; then
    echo "nice"
    exit 0
else
    echo "darn it"
    exit 1
fi
мерзавец, пакетный файл, githooks,
Похожие вопросы
Яндекс.Метрика