mirror of
https://chromium.googlesource.com/chromium/tools/depot_tools.git
synced 2026-01-11 18:51:29 +00:00
The current gsutil download code silently fails when the connection drops mid-download, as read() returns an empty buffer instead of raising an exception. This may lead to errors such as "zipfile.BadZipFile: File is not a zip file" on Chromium sync with freshly-bootstrapped depot_tools when downloading gcs deps. This change solves this by hardening the process: - Use retry mechanism with exponential backoff for gsutil download - Switch to urlretrieve, which looks at Content-Length - Compare MD5 of the downloaded file with the value from API - Move exponential_backoff_retry from git_cache.py to gclient_utils.py Change-Id: I25242948399e01373eb2afd9352e5c78a889051d Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6485485 Reviewed-by: Gavin Mak <gavinmak@google.com> Commit-Queue: Gavin Mak <gavinmak@google.com> Auto-Submit: Aleksei Khoroshilov <akhoroshilov@brave.com> Reviewed-by: Scott Lee <ddoman@chromium.org>
12 KiB
Executable File
12 KiB
Executable File