RFR [9] sequential operation option for hgforest
Chris Hegarty
chris.hegarty at oracle.com
Thu Apr 10 15:54:27 UTC 2014
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.
More information about the build-dev
mailing list