Standardize automatic retry and add a 15 seconds sleep to increase the chances of success

Review URL: http://codereview.chromium.org/1812001

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@46067 0039d316-1c4b-4281-b951-d872f2087c98
experimental/szager/collated-output
maruel@chromium.org 15 years ago
parent fcff927b8c
commit fd87617b28

@ -9,6 +9,7 @@ import os
import posixpath import posixpath
import re import re
import subprocess import subprocess
import time
import scm import scm
import gclient_utils import gclient_utils
@ -252,21 +253,22 @@ class GitWrapper(SCMWrapper):
raise gclient_utils.Error('Invalid Upstream') raise gclient_utils.Error('Invalid Upstream')
# Update the remotes first so we have all the refs. # Update the remotes first so we have all the refs.
for _ in range(3): for _ in range(10):
try: try:
remote_output, remote_err = scm.GIT.Capture( remote_output, remote_err = scm.GIT.Capture(
['remote'] + verbose + ['update'], ['remote'] + verbose + ['update'],
self.checkout_path, self.checkout_path,
print_error=False) print_error=False)
break break
except gclient_utils.CheckCallError, e: except gclient_utils.CheckCallError:
# Hackish but at that point, git is known to work so just checking for # Hackish but at that point, git is known to work so just checking for
# 502 in stderr should be fine. # 502 in stderr should be fine.
if '502' in e.stderr: if '502' in e.stderr:
print str(e) print str(e)
print "Retrying..." print "Sleeping 15 seconds and retrying..."
time.sleep(15)
continue continue
raise e raise
if verbose: if verbose:
print remote_output.strip() print remote_output.strip()

@ -11,6 +11,7 @@ import shutil
import subprocess import subprocess
import sys import sys
import tempfile import tempfile
import time
import xml.dom.minidom import xml.dom.minidom
import gclient_utils import gclient_utils
@ -399,7 +400,7 @@ class SVN(object):
}[args[0]] }[args[0]]
compiled_pattern = re.compile(pattern) compiled_pattern = re.compile(pattern)
# Place an upper limit. # Place an upper limit.
for _ in range(1, 10): for _ in range(10):
previous_list_len = len(file_list) previous_list_len = len(file_list)
failure = [] failure = []
@ -423,6 +424,8 @@ class SVN(object):
if args[0] == 'checkout': if args[0] == 'checkout':
# An aborted checkout is now an update. # An aborted checkout is now an update.
args = ['update'] + args[1:] args = ['update'] + args[1:]
print "Sleeping 15 seconds and retrying...."
time.sleep(15)
continue continue
# No progress was made or an unknown error we aren't sure, bail out. # No progress was made or an unknown error we aren't sure, bail out.
raise raise

Loading…
Cancel
Save