Не могу добавить пользовательский скрипт в гем 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
?