From bdef55eee9e40f0f64715e50c154f62116c58409 Mon Sep 17 00:00:00 2001 From: Sitaram Chamarty Date: Fri, 4 Feb 2011 21:28:23 +0530 Subject: [PATCH] (minor) bashism fixes, usability fix, for "able" adc --- contrib/adc/able | 20 ++++++++++++-------- t/t64-write-able | 11 +++++++---- 2 files changed, 19 insertions(+), 12 deletions(-) diff --git a/contrib/adc/able b/contrib/adc/able index b327815..65b1a16 100755 --- a/contrib/adc/able +++ b/contrib/adc/able @@ -1,6 +1,4 @@ -#!/bin/bash - -# WARNING: USES BASH FEATURES TO AVOID A TEMP FILE; CAN BE FIXED IF NEEDED +#!/bin/sh . $(dirname $0)/adc.common-functions @@ -26,7 +24,7 @@ do shift done -[[ -z "$locs" ]] && die "give me '@all' or some reponame" +[ -z "$locs" ] && die "give me '@all' or some reponame" case $op in en|enable ) @@ -36,14 +34,20 @@ case $op in done ;; dis|disable ) - # bashism - read msg <<<$(cat) + + TEMPDIR=$(mktemp -d -t tmp.XXXXXXXXXX) + export TEMPDIR + trap "/bin/rm -rf $TEMPDIR" 0 + + echo 'type the message to be shown to users when they try to push; end with Ctrl-D:' + echo > $TEMPDIR/msg + cat >> $TEMPDIR/msg echo disabling following locations with message: - echo $msg + cat $TEMPDIR/msg echo for l in $locs do - echo $msg > $l/.gitolite.down + cat $TEMPDIR/msg > $l/.gitolite.down echo $l done ;; diff --git a/t/t64-write-able b/t/t64-write-able index 528a4af..25c8d7f 100644 --- a/t/t64-write-able +++ b/t/t64-write-able @@ -57,7 +57,8 @@ do expect "give me '@all' or some reponame" (echo first line; echo second line) | runlocal ssh gitolite able dis @all expect "disabling following locations with message:" - expect "first line second line" + expect "first line" + expect "^second line" expect "/home/gitolite-test" runremote ls -al .gitolite.down expect "^.rw------- 1 gitolite-test gitolite-test .. ... .. ..:.. .gitolite.down" @@ -67,7 +68,8 @@ do mdc; mdc runlocal git push origin master expect ABORTING - expect "first line second line" + expect "first line" + expect "^second line" expect "fatal: The remote end hung up unexpectedly" name "u2 create and push bar/u2/r1 fail" @@ -75,7 +77,8 @@ do mdc; mdc runlocal git push origin master expect ABORTING - expect "first line second line" + expect "first line" + expect "^second line" expect "fatal: The remote end hung up unexpectedly" name "enable entire site" @@ -106,7 +109,7 @@ do expect "foo down" expect "/home/gitolite-test/repositories/foo.git" runremote ls -al /home/gitolite-test/repositories/foo.git/.gitolite.down - expect ".rw------- 1 gitolite-test gitolite-test . ... .. ..:.. /home/gitolite-test/repositories/foo.git/.gitolite.down" + expect ".rw------- 1 gitolite-test gitolite-test .* ..:.. /home/gitolite-test/repositories/foo.git/.gitolite.down" name "u1 push foo fail" cd ~/td/foo