From 002f97b35a726ac34335376cc2c5637d31ae2f69 Mon Sep 17 00:00:00 2001 From: Edward Lesmes Date: Tue, 19 May 2020 18:50:39 +0000 Subject: [PATCH] Abort fetch, gclient, gsutil.py when update_depot_tools fails on Windows We should fail when we fail to update depot_tools instead of continuing the execution silently. Otherwise, developers might get stuck on a bad depot_tools revision without knowing. Change-Id: I0431a24a28a77aca8c66352939a0252c458b3e9d Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2208616 Reviewed-by: Josip Sokcevic Commit-Queue: Edward Lesmes --- fetch.bat | 4 ++++ gclient.bat | 4 ++++ gsutil.py.bat | 4 ++++ 3 files changed, 12 insertions(+) diff --git a/fetch.bat b/fetch.bat index 8a3476521..eef301915 100755 --- a/fetch.bat +++ b/fetch.bat @@ -6,6 +6,10 @@ setlocal :: Synchronize the root directory before deferring control back to gclient.py. call "%~dp0\update_depot_tools.bat" +:: Abort the script if we failed to update depot_tools. +IF %errorlevel% NEQ 0 ( + goto :EOF +) :: Ensure that "depot_tools" is somewhere in PATH so this tool can be used :: standalone, but allow other PATH manipulations to take priority. diff --git a/gclient.bat b/gclient.bat index d91adfbc0..2934a6ce1 100755 --- a/gclient.bat +++ b/gclient.bat @@ -9,6 +9,10 @@ IF "%DEPOT_TOOLS_UPDATE%" == "0" GOTO :CALL_GCLIENT :: Synchronize the root directory before deferring control back to gclient.py. call "%~dp0update_depot_tools.bat" %* +:: Abort the script if we failed to update depot_tools. +IF %errorlevel% NEQ 0 ( + goto :EOF +) :CALL_GCLIENT :: Ensure that "depot_tools" is somewhere in PATH so this tool can be used diff --git a/gsutil.py.bat b/gsutil.py.bat index 484d2597e..722f68406 100755 --- a/gsutil.py.bat +++ b/gsutil.py.bat @@ -6,6 +6,10 @@ setlocal :: Synchronize the root directory before deferring control back to gsutil.py. call "%~dp0update_depot_tools.bat" %* +:: Abort the script if we failed to update depot_tools. +IF %errorlevel% NEQ 0 ( + goto :EOF +) :: Ensure that "depot_tools" is somewhere in PATH so this tool can be used :: standalone, but allow other PATH manipulations to take priority.