changeset 1057:e3ae43560332

8039990: Add sequential operation support to hgforest Reviewed-by: mduigou
author chegar
date Fri, 11 Apr 2014 09:35:03 +0100
parents 2bb0f1489885
children e16a393ee5e3
files common/bin/hgforest.sh
diffstat 1 files changed, 11 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/common/bin/hgforest.sh	Wed Mar 26 16:56:58 2014 -0700
+++ b/common/bin/hgforest.sh	Fri Apr 11 09:35:03 2014 +0100
@@ -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