git "pre-push" крюк стандартный пуст - PullRequest
2 голосов
/ 12 марта 2019

Я пытаюсь создать ловушку предварительного толчка, которая не позволит пользователю нажать на ветку, отличную от той, на которой он находится.

На основании pre-push.sample (и различных прочитанных мной потоков) похоже, что я должен быть в состоянии прочитать, какую локальную ветвь я нажимаю, а какую удаленную я отправляю через stdin с помощью:

while read local_ref local_sha remote_ref remote_sha
do
...
done

Однако, когда я делаю это, local_ref и другие переменные остаются пустыми (даже при запуске обработчика неотредактированной выборки он никогда не входит в цикл).

Есть ли какая-то конфигурация или другой шаг, который мне нужно сделать, чтобы получить доступ к переменным в stdin?

Я использую git version 2.17.1

1 Ответ

0 голосов
/ 12 марта 2019

Во-первых, убедитесь, что ваш хук вызывается вообще.
Это значит:

  • его имя должно быть pre-push (нет .sample)
  • это должен быть исполняемый файл (если вы не используете Windows, в этом случае он исполняется по умолчанию)
...