Looks good to me and useful. (Other than that I had hoped to claim "-s" for a future change I planned ;-) (no worries, I will use "-r" for that))
Mike On Apr 10 2014, at 08:54 , Chris Hegarty <chris.hega...@oracle.com> wrote: > Sometimes I get a little confused/nervous when trying to push/status/in using > the hgforest.sh script. The output can be a little confusing as it runs > several jobs in parallel. > > I would like to add an option to support sequential operation of commands. It > is off by default. The more nervous of us that push using this script can opt > in, if you like! > > diff --git a/common/bin/hgforest.sh b/common/bin/hgforest.sh > --- a/common/bin/hgforest.sh > +++ b/common/bin/hgforest.sh > @@ -29,6 +29,7 @@ > status_output="/dev/stdout" > qflag="false" > vflag="false" > +sflag="false" > while [ $# -gt 0 ] > do > case $1 in > @@ -43,6 +44,10 @@ > global_opts="${global_opts} -v" > ;; > > + -s | --sequential ) > + sflag="true" > + ;; > + > '--' ) # no more options > shift; break > ;; > @@ -63,7 +68,7 @@ > command_args="$@" > > usage() { > - echo "usage: $0 [-q|--quiet] [-v|--verbose] [--] <command> > [commands...]" > ${status_output} > + echo "usage: $0 [-q|--quiet] [-v|--verbose] [-s|--sequential] [--] > <command> [commands...]" > ${status_output} > exit 1 > } > > @@ -243,11 +248,15 @@ > ) 2>&1 | sed -e "s@^@${reponame}: @" > ${status_output} > ) & > > - if [ `expr ${n} '%' ${at_a_time}` -eq 0 ] ; then > + if [ `expr ${n} '%' ${at_a_time}` -eq 0 -a "${sflag}" = "false" ] ; then > sleep 2 > echo "Waiting 5 secs before spawning next background command." > > ${status_output} > sleep 3 > fi > + > + if [ "${sflag}" = "true" ] ; then > + wait > + fi > done > fi > > -Chris. >