RFR [9] sequential operation option for hgforest

Mike Duigou mike.duigou at oracle.com
Thu Apr 10 19:03:24 UTC 2014


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.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