From: crouzet Date: Fri, 4 Jan 2019 12:50:26 +0000 (+0100) Subject: add logs to git retry functionality X-Git-Tag: 5.3.0~38 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=4235a25f078b2a448f832a4cba827fe0cd82585c;p=tools%2Fsat.git add logs to git retry functionality --- diff --git a/sat b/sat index 14b9a86..02c2b57 100755 --- a/sat +++ b/sat @@ -44,7 +44,7 @@ import src.debug as DBG # Easy print stderr (for DEBUG only) logger = LOG.getDefaultLogger() -DBG.write("Python version", sys.version, DBG.isDeveloper()) +DBG.write("Python version", sys.version) ################################# # MAIN diff --git a/src/ElementTree.py b/src/ElementTree.py index 8b1b92b..1cfe8ce 100644 --- a/src/ElementTree.py +++ b/src/ElementTree.py @@ -13,7 +13,7 @@ _versionPython = sys.version_info[0] if _versionPython < 3: # python2 previous historic mode import src.ElementTreePython2 as etree - DBG.write("ElementTree Python2", etree.__file__, DBG.isDeveloper()) + DBG.write("ElementTree Python2", etree.__file__) tostring = etree.tostring else: diff --git a/src/system.py b/src/system.py index 9d0f285..bb1fc1a 100644 --- a/src/system.py +++ b/src/system.py @@ -97,10 +97,18 @@ git --git-dir=%(where_git)s --work-tree=%(where)s checkout %(tag)s DBG.write("cmd", cmd) - for nbtry in range(0,3): # retries case of network problem + # git commands may fail sometimes for various raisons (big module, network troubles, tuleap maintenance) + # therefore we give several tries + i_try=0 + max_number_of_tries=3 + sleep_delay=30 # seconds + while (True): + i_try+=1 rc = UTS.Popen(cmd, cwd=str(where.dir()), env=environment.environ.environ, logger=logger) - if rc.isOk(): break - time.sleep(30) # wait a little + if rc.isOk() or (i_try>=max_number_of_tries): + break + logger.write('\ngit command failed! Wait %d seconds and give an other try (%d/%d)\n' % (sleep_delay,i_try+1,max_number_of_tries), 3) + time.sleep(sleep_delay) # wait a little return rc.isOk() @@ -288,4 +296,4 @@ def svn_extract(user, shell=True, stdout=logger.logTxtFile, stderr=subprocess.STDOUT) - return (res == 0) \ No newline at end of file + return (res == 0)