-bn=$(basename $0)
-if test x$bn = xgl-perm; then
- cmd=$1; shift
-else
- cmd=$bn
-fi
-
-case $cmd in
- gl-getperms|get)
- if test $# -gt 0; then echo >&2 "Command $cmd does not accept any arguments"; exit 1; fi
- ssh $userhost getperms $repo;;
- gl-setperms|set)
- if test $# -gt 0; then echo >&2 "Command $cmd does not accept any arguments - it reads from stdin"; exit 1; fi
- ssh $userhost setperms $repo;;
- gl-addperm|add)
- perms=$(ssh $userhost getperms $repo)
- ( test "$perms" && echo "$perms"; echo $* ) | ssh $userhost setperms $repo;;
- gl-rmperm|rm)
- user=$1
- perms=$(ssh $userhost getperms $repo) # setperms does not work when executed in the same pipe with getperms
- echo "$perms" | sed -e "s/[[:space:]]*\\b$user\\b//g" -e "/^[[:alnum:]]\+[[:space:]]*$/d" | ssh $userhost setperms $repo;;
+case "$(basename "$0")" in
+ gl-perm|gl-perm-list)
+ set -- "$repo" -l;;
+ gl-perm-add-writer)
+ set -- "$repo" + WRITERS "${1?Missing user name}";;
+ gl-perm-add-reader)
+ set -- "$repo" + READERS "${1?Missing user name}";;
+ gl-perm-rm-writer)
+ set -- "$repo" - WRITERS "${1?Missing user name}";;
+ gl-perm-rm-reader)
+ set -- "$repo" - READERS "${1?Missing user name}";;