PREFIX=$(HOME)/bin
-gl-perm=$(shell realpath gl-perm)
-ln=ln -sf "$(gl-perm)" "$(PREFIX)/gl-perm-$1"
+gl-tool:=$(shell realpath gl-tool)
+ln=ln -sf "$(gl-tool)" "$(PREFIX)/gl-$1"
install:
- $(call ln,list)
- $(call ln,add-writer)
- $(call ln,add-reader)
- $(call ln,del-writer)
- $(call ln,del-reader)
+ $(call ln,perm-list)
+ $(call ln,perm-add-writer)
+ $(call ln,perm-add-reader)
+ $(call ln,perm-del-writer)
+ $(call ln,perm-del-reader)
+ $(call ln,desc-get)
+ $(call ln,desc-set)
#!/bin/sh
-# Gitolite permission manipulation helper script
+# Gitolite helper script for manipulating with permission and description manipulation
# Copyright 2011, 2014, 2017, Michal Sojka <wsh@2x.cz>
# License: GNU GPLv2+
-case "$1" in
- -h|-help)
-cat <<EOF
-Usage: $0 Print current permissions
- $0 + READERS <user> Allow <user> to read the repo (@all for all users)
- $0 - READERS <user> Remove <user> from the list of readers
- $0 + WRITERS <user> Allow <user> to write the repo
-EOF
- exit
- ;;
-esac
curr_branch=$(git symbolic-ref -q HEAD)
curr_branch_short=${curr_branch#refs/heads/}
remote=$(git config --get "branch.$curr_branch_short.remote")
case "$(basename "$0")" in
gl-perm|gl-perm-list)
- set -- "$repo" -l;;
+ set -- perms "$repo" -l;;
gl-perm-add-writer)
- set -- "$repo" + WRITERS "${1?Missing user name}";;
+ set -- perms "$repo" + WRITERS "${1?Missing user name}";;
gl-perm-add-reader)
- set -- "$repo" + READERS "${1?Missing user name}";;
+ set -- perms "$repo" + READERS "${1?Missing user name}";;
gl-perm-rm-writer)
- set -- "$repo" - WRITERS "${1?Missing user name}";;
+ set -- perms "$repo" - WRITERS "${1?Missing user name}";;
gl-perm-rm-reader)
- set -- "$repo" - READERS "${1?Missing user name}";;
+ set -- perms "$repo" - READERS "${1?Missing user name}";;
+ gl-desc-get)
+ set -- desc "$repo";;
+ gl-desc-set)
+ set -- desc "$repo" "${1?No description given}";;
esac
-(set -x; ssh "$userhost" perms "$@")
+(set -x; ssh "$userhost" "$@")