From 4235a25f078b2a448f832a4cba827fe0cd82585c Mon Sep 17 00:00:00 2001 From: crouzet Date: Fri, 4 Jan 2019 13:50:26 +0100 Subject: [PATCH] add logs to git retry functionality --- sat | 2 +- src/ElementTree.py | 2 +- src/system.py | 16 ++++++++++++---- 3 files changed, 14 insertions(+), 6 deletions(-) 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) -- 2.30.2