diff --git a/Build/AtlasBuildScripts/checkout_Gaudi.sh b/Build/AtlasBuildScripts/checkout_Gaudi.sh index 15851ec1313fd6724f8cc39a2e9b61e2cd9146f7..80dce55c13398856364edb11456077793235c5ad 100755 --- a/Build/AtlasBuildScripts/checkout_Gaudi.sh +++ b/Build/AtlasBuildScripts/checkout_Gaudi.sh @@ -27,6 +27,22 @@ usage() { echo " in the source directory is left untouched." } +_max_retry_=5 + +_retry_ () { + local cmd="$*" + local n=0 + while ! $cmd ; do + if test $n -eq $_max_retry_ ; then + echo "ERROR: $cmd FAILED $_max_retry_ times. EXIT(1)" >&2 + exit 1 + fi + echo "WARNING: $cmd FAILED, retry in 30 sec ... " + sleep 30s + n=`expr $n + 1` + done +} + # Parse the command line arguments: TAGBRANCH="" SOURCEDIR="" @@ -86,12 +102,12 @@ echo " from: $GAUDIURL" if [ ! -d "${SOURCEDIR}" ]; then # Clone the repository: - git clone ${GAUDIURL} ${SOURCEDIR} + _retry_ git clone ${GAUDIURL} ${SOURCEDIR} else echo "${SOURCEDIR} already exists -> assume previous checkout" fi # Get the appropriate version of it: cd ${SOURCEDIR} -git fetch --prune origin -git checkout -f ${TAGBRANCH} +_retry_ git fetch --prune origin +_retry_ git checkout -f ${TAGBRANCH} diff --git a/Build/AtlasBuildScripts/checkout_atlasexternals.sh b/Build/AtlasBuildScripts/checkout_atlasexternals.sh index e5a750d9539ccacb070307f660c86296757eee29..bdc803eba192c3689745d81b48157cd9200e3bda 100755 --- a/Build/AtlasBuildScripts/checkout_atlasexternals.sh +++ b/Build/AtlasBuildScripts/checkout_atlasexternals.sh @@ -27,6 +27,22 @@ usage() { echo " in the source directory is left untouched." } +_max_retry_=5 + +_retry_ () { + local cmd="$*" + local n=0 + while ! $cmd ; do + if test $n -eq $_max_retry_ ; then + echo "ERROR: $cmd FAILED $_max_retry_ times. EXIT(1)" >&2 + exit 1 + fi + echo "WARNING: $cmd FAILED, retry in 30 sec ... " + sleep 30s + n=`expr $n + 1` + done +} + # Parse the command line arguments: TAGBRANCH="" SOURCEDIR="" @@ -86,12 +102,12 @@ echo " from: $EXTERNALSURL" if [ ! -d "${SOURCEDIR}" ]; then # Clone the repository: - git clone ${EXTERNALSURL} ${SOURCEDIR} + _retry_ git clone ${EXTERNALSURL} ${SOURCEDIR} else echo "${SOURCEDIR} already exists -> assume previous checkout" fi # Get the appropriate version of it: cd ${SOURCEDIR} -git fetch --prune origin -git checkout -f ${TAGBRANCH} +_retry_ git fetch --prune origin +_retry_ git checkout -f ${TAGBRANCH}