Installs git hooks that will run in your Elixir project.
Any git hook type is supported, check here the hooks list.
Add to dependencies:
def deps do
[{:git_hooks, "~> 0.2.0"}]
endThen install and compile the dependencies:
mix deps.get && mix deps.compileThis project will backup automatically your the hook files that are going to be overwrite.
The backup files will have the file extension .pre_git_hooks_backup.
This library will install automatically the configured git hooks in your config.exs file.
You can manually install the configured git hooks at any time by running:
mix git_hooks.installOne or more git hooks can be configured, those hooks will be the ones installed in your git project.
Currently there are supported two configuration options:
- mix_tasks: A list of the mix tasks that will run for the git hook
- verbose: If true, the output of the mix tasks will be visible. This can be configured globally or per git hook.
config :git_hooks,
verbose: true,
hooks: [
pre_commit: [
mix_tasks: [
"format"
]
],
pre_push: [
verbose: false,
mix_tasks: [
"dialyzer",
"test"
]
]
]The configured mix tasks will run automatically for each git hook.
You can also run manually any configured git hook as well.
The following example will run the pre_commit configuration:
mix git_hooks.run pre_commitIt is also possible to run all the configured hooks:
mix git_hooks.run all