(contrib) how to enable or disable push for maintenance
...for some or all repos (and a minor bug fix in the adc.common-functions file)
This commit is contained in:
parent
b4c1627130
commit
5bbd102059
3 changed files with 87 additions and 2 deletions
46
contrib/adc/able
Executable file
46
contrib/adc/able
Executable file
|
@ -0,0 +1,46 @@
|
|||
#!/bin/bash
|
||||
|
||||
# WARNING: USES BASH FEATURES...
|
||||
|
||||
. $(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 )
|
||||
[[ -t 0 ]] && printf message:
|
||||
read msg <<<$(cat)
|
||||
for l in $locs
|
||||
do
|
||||
echo $msg > $l/.gitolite.down
|
||||
done
|
||||
;;
|
||||
* )
|
||||
die "argument 1 must be 'en' or 'dis'"
|
||||
;;
|
||||
esac
|
|
@ -6,7 +6,7 @@ die() { echo "$@"; exit 1; }
|
|||
|
||||
get_rights_and_owner() {
|
||||
local ans
|
||||
ans=$(perl -I$HOME/.gitolite/src -Mgitolite -e 'cli_repo_rights("'$1'")')
|
||||
ans=$(perl -I$GL_BINDIR -Mgitolite -e 'cli_repo_rights("'$1'")')
|
||||
|
||||
# set shell variables as needed
|
||||
owner=${ans#* }
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue