Не могу добавить пользовательский скрипт в гем overcommit

Я не уверен, что это то, что я должен опубликовать в официальном выпуске репозитория (иногда я вижу там тег "вопрос"). Но если вы думаете, что это подходящее место, чтобы спросить об этом, было бы здорово, если бы кто-то мог мне помочь.


Я безуспешно пытался добавить пользовательский скрипт в гем overcommit. В официальном документе говорится, что нужно добавить строки в.overcommit.yml:

 PostCheckout:
  CustomScript:
    enabled: true
    required_executable: './bin/custom-script'

(так я и сделал:)

PrePush:      
    customHook:
      enabled: true
      required_executable: 'custom-hook'

и поместить скрипт в каталог.git-hooks в корне проекта. Поэтому я поместил этот скрипт в каталог.git-hook для тестирования:

#custom-hook.sh    
echo hey

Вот сладкое сообщение об ошибке:

Hook must specify a `required_executable` or `command` that is tracked by git (i.e. is a path relative to the root of the repository) so that it can be signed
/Users/hiroki/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/overcommit-0.34.2/lib/overcommit/hook_signer.rb:39:in `hook_path'
/Users/hiroki/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/overcommit-0.34.2/lib/overcommit/hook_signer.rb:92:in `hook_contents'
/Users/hiroki/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/overcommit-0.34.2/lib/overcommit/hook_signer.rb:88:in `signature'
/Users/hiroki/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/overcommit-0.34.2/lib/overcommit/hook_signer.rb:61:in `signature_changed?'
/Users/hiroki/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/overcommit-0.34.2/lib/overcommit/hook_loader/plugin_hook_loader.rb:51:in `select'
/Users/hiroki/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/overcommit-0.34.2/lib/overcommit/hook_loader/plugin_hook_loader.rb:51:in `modified_plugins'
/Users/hiroki/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/overcommit-0.34.2/lib/overcommit/hook_loader/plugin_hook_loader.rb:55:in `check_for_modified_plugins'
/Users/hiroki/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/overcommit-0.34.2/lib/overcommit/hook_loader/plugin_hook_loader.rb:8:in `load_hooks'
/Users/hiroki/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/overcommit-0.34.2/lib/overcommit/hook_runner.rb:195:in `load_hooks'
/Users/hiroki/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/overcommit-0.34.2/lib/overcommit/hook_runner.rb:32:in `block in run'
/Users/hiroki/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/overcommit-0.34.2/lib/overcommit/interrupt_handler.rb:84:in `isolate_from_interrupts'
/Users/hiroki/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/overcommit-0.34.2/lib/overcommit/hook_runner.rb:28:in `run'
.git/hooks/pre-push:79:in `<main>'

Очевидно, он жалуется, что не может найти исполняемый файл, поэтому я предполагаю, что формат неправильный, но информации там мало, и я застрял.

1 ответ

Решение

Из сообщения об ошибке кажется, что custom-hook должен быть относительно корневого каталога вашего репозитория git. Возможно, попробуйте положить это в ./bin/custom-hook?

Другие вопросы по тегам