diff options
author | Daniel Friesel <derf@derf.homelinux.org> | 2010-03-20 12:14:51 +0100 |
---|---|---|
committer | Daniel Friesel <derf@derf.homelinux.org> | 2010-03-20 12:14:51 +0100 |
commit | 2310f6c0d02c8dd9f2085a04f5dd410f691da79e (patch) | |
tree | b6a4493babcf7e009d54b8e7e8e6da25586b6cca /examples | |
parent | a3a78d0f3e5589c7dc58204f9e3f0695f5af98b7 (diff) |
Add (very experimental) caretaker-shell
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} +} |