| Index: scm.py
|
| diff --git a/scm.py b/scm.py
|
| index df22271a22f995165c2e634af1a2bd551143d7c5..48118d10357ed2f4872271c844aad22cd26ea531 100644
|
| --- a/scm.py
|
| +++ b/scm.py
|
| @@ -380,14 +380,14 @@ class SVN(object):
|
| True,
|
| CaptureMatchingLines)
|
| except gclient_utils.Error:
|
| - # We enforce that some progress has been made.
|
| - if len(failure) and len(file_list) > previous_list_len:
|
| + # We enforce that some progress has been made or HTTP 502.
|
| + if ([True for f in failure if '502 Bad Gateway' in f] or
|
| + (len(failure) and len(file_list) > previous_list_len)):
|
| if args[0] == 'checkout':
|
| - args = args[:]
|
| # An aborted checkout is now an update.
|
| - args[0] = 'update'
|
| + args = ['update'] + args[1:]
|
| continue
|
| - # No progress was made, bail out.
|
| + # No progress was made or an unknown error we aren't sure, bail out.
|
| raise
|
| break
|
|
|
|
|