Commit c65a8552 authored by Sean McGivern's avatar Sean McGivern

Merge branch 'patch-6' into 'master'

Update for chained hooks support

See merge request !6721
parents 34fc5b05 bc380e48
......@@ -42,6 +42,25 @@ Follow the steps below to set up a custom hook:
That's it! Assuming the hook code is properly implemented the hook will fire
as appropriate.
## Chained hooks support
> [Introduced][93] in GitLab Shell 4.1.0.
The hooks could be also placed in `hooks/<hook_name>.d` (global) or `custom_hooks/<hook_name>.d` (per project)
directories supporting chained execution of the hooks.
The hooks are searched and executed in this order:
1. `<project>.git/hooks/` - symlink to `gitlab-shell/hooks` global dir
1. `<project>.git/hooks/<hook_name>` - executed by `git` itself, this is `gitlab-shell/hooks/<hook_name>`
1. `<project>.git/custom_hooks/<hook_name>` - per project hook (this is already existing behavior)
1. `<project>.git/custom_hooks/<hook_name>.d/*` - per project hooks
1. `<project>.git/hooks/<hook_name>.d/*` - global hooks: all executable files (minus editor backup files)
Files in `.d` directories need to be executable and not match the backup file pattern (`*~`).
The hooks of the same type are executed in order and execution stops on the first
script exiting with non-zero value.
## Custom error messages
> [Introduced][5073] in GitLab 8.10.
......@@ -54,3 +73,4 @@ STDERR takes precedence over STDOUT.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment