Skip to main content
Sign in
Snippets Groups Projects
Commit a4de1a34 authored by Richard Hartmann's avatar Richard Hartmann
Browse files

Improve hook support

* Fix and expand manpage
* Use explicit variable names in hook()
parent c189913f
No related branches found
No related tags found
No related merge requests found
......@@ -113,18 +113,21 @@ appropriate values for fake bare git repositories.
## HOOK SYSTEM
`vcsh` provides a hook system. Hook scripts need to be executable and placed
in <$XDG_CONFIG_HOME/vcsh/hooks-available>. From there, they should be
soft-linked <$XDG_CONFIG_HOME/vcsh/hooks-enabled>.
`vcsh` provides a hook system. Hook scripts must be executable and should be
placed in <$XDG_CONFIG_HOME/vcsh/hooks-available>. From there, they can be
soft-linked into <$XDG_CONFIG_HOME/vcsh/hooks-enabled>; `vcsh` will only
execute hooks that are in this directory.
Hooks follow a simple format. `pre-run` will be run before anything is run.
If you want to have more than one script for a certain hook, just append
strings to order them. A system of `pre-run`, `pre-run.10`, `pre-run.20` etc
is suggested. The dot it optional.
any kind of string to order them. A system of `pre-run`, `pre-run.10`,
`pre-run.20` etc is suggested; other options would be `pre-run-10` or
`pre-run.sh`. A dot after the hook name is optional.
If you want to create hooks for a specific `vcsh` repository, simply prepend
the repository's name, followed by a dot, i.e. `zsh.pre-run`. This dot is
mandatory.
the repository's name, followed by a dot, i.e. `zsh.pre-run`. Otherwise, the
same rules as above apply. The dot between the repository's name and the hook
is mandatory, though.
## DETAILED HOWTO AND FURTHER READING
......
......
......@@ -115,9 +115,9 @@ git_dir_exists() {
}
hook() {
for f in $VCSH_HOOK_D/$1* $VCSH_HOOK_D/$VCSH_REPO_NAME.$1*; do
[ -x "$f" ] || continue
"$f"
for hook in $VCSH_HOOK_D/$1* $VCSH_HOOK_D/$VCSH_REPO_NAME.$1*; do
[ -x "$hook" ] || continue
"$hook"
done
}
......
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment