Note: "able" still needs bash but it's an easy fix if you need to use it on a bash-challenged machine and care enough
47 lines
882 B
Bash
Executable file
47 lines
882 B
Bash
Executable file
#!/bin/bash
|
|
|
|
# WARNING: USES BASH FEATURES TO AVOID A TEMP FILE; CAN BE FIXED IF NEEDED
|
|
|
|
. $(dirname $0)/adc.common-functions
|
|
|
|
get_rights_and_owner gitolite-admin
|
|
[ -z "$perm_write" ] && die "just *what* are you trying to pull, young man?"
|
|
|
|
op=$1
|
|
shift
|
|
|
|
locs=
|
|
while [ -n "$1" ]
|
|
do
|
|
case $1 in
|
|
'@all' )
|
|
locs="$locs $HOME"
|
|
;;
|
|
* )
|
|
[ -d $loc ] && locs="$locs $GL_REPO_BASE_ABS/$1.git"
|
|
[ -d $loc ] || echo "ignoring $1..."
|
|
;;
|
|
esac
|
|
shift
|
|
done
|
|
|
|
case $op in
|
|
en|enable )
|
|
for l in $locs
|
|
do
|
|
rm -fv $l/.gitolite.down
|
|
done
|
|
;;
|
|
dis|disable )
|
|
# bashism
|
|
read msg <<<$(cat)
|
|
for l in $locs
|
|
do
|
|
echo $msg > $l/.gitolite.down
|
|
done
|
|
;;
|
|
* )
|
|
die "argument 1 must be 'en' or 'dis'"
|
|
;;
|
|
esac
|