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 |