diff options
Diffstat (limited to 'examples')
-rwxr-xr-x | examples/caretaker-shell | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/examples/caretaker-shell b/examples/caretaker-shell new file mode 100755 index 0000000..ce59a90 --- /dev/null +++ b/examples/caretaker-shell @@ -0,0 +1,23 @@ +#!/usr/bin/env zsh + +# Change this to your package root +PKG_ROOT='/home/derf/var/packages_root' + +# Change this to the location of your pkglist script (if non-default) +PKG_LIST=${PKG_ROOT}/pkglist + +args=(${(z)SSH_ORIGINAL_COMMAND}) + +if [[ \ + ( \ + $args[1] == ${PKG_LIST} && \ + $args[2] == ${PKG_ROOT} \ + ) || ( \ + $args[1] == 'git-'(upload|receive)'-pack' && \ + $args[2] != *'../'* && \ + $args[2] == \'${PKG_ROOT}/*\' \ + ) \ +]] { + args[2]=${args[2]//\'} + ${args} +} |