RFR [9] sequential operation option for hgforest
Chris Hegarty
chris.hegarty at oracle.com
Thu Apr 10 19:07:44 UTC 2014
On 10 Apr 2014, at 20:03, Mike Duigou <mike.duigou at oracle.com> wrote:
> 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))
Thanks for the review Mike. If you want to keep ‘-s’ we can come up with something else, “—np|—non-parallel” ?? Or anything, I’m happy once I can operate in non parallel mode.
-Chris.
> Mike
>
> On Apr 10 2014, at 08:54 , Chris Hegarty <chris.hegarty at 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.
>>
>
More information about the build-dev
mailing list