mirror of
https://chromium.googlesource.com/chromium/tools/depot_tools.git
synced 2026-01-11 10:41:31 +00:00
Reason for revert: This CL over-aggressively removed the Windows bootstrap code used by /gclient.bat, which in turn downloads/installs the Windows toolchain, including Python. Labs can no longer provision Windows bots because of this. update_depot_tools.bat did more than initialize the virtualenv. It also downloaded and installed Python, Git, and Subversion on Windows systems. I'm reverting to restore the toolchain so we can create new Windows bots. Original issue's description: > Removed virtualenv from depot_tools > > This effectively reverts http://crrev.com/1195423002 and > http://crrev.com/1205873002. > > R=pgervais@chromium.org, tandrii@chromium.org > TBR=pgervais@chromium.org # i wanna get my Fixit credit today :-) > BUG=542922,503067 > > Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=297491 TBR=pgervais@chromium.org,tandrii@chromium.org,sergiyb@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=542922,503067 Review URL: https://codereview.chromium.org/1431173002 . git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@297493 0039d316-1c4b-4281-b951-d872f2087c98
78 lines
2.3 KiB
Batchfile
78 lines
2.3 KiB
Batchfile
@echo off
|
|
:: Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
|
:: Use of this source code is governed by a BSD-style license that can be
|
|
:: found in the LICENSE file.
|
|
|
|
:: This batch file will try to sync the root directory.
|
|
|
|
setlocal
|
|
|
|
:: Windows freaks out if a file is overwritten while it's being executed. Copy
|
|
:: this script off to a temporary location and reinvoke from there before
|
|
:: running any svn or git commands.
|
|
IF "%~nx0"=="update_depot_tools.bat" (
|
|
COPY /Y "%~dp0update_depot_tools.bat" "%TEMP%\update_depot_tools_tmp.bat" >nul
|
|
if errorlevel 1 goto :EOF
|
|
"%TEMP%\update_depot_tools_tmp.bat" "%~dp0" %*
|
|
)
|
|
|
|
set DEPOT_TOOLS_DIR=%~1
|
|
SHIFT
|
|
|
|
set GIT_URL=https://chromium.googlesource.com/chromium/tools/depot_tools.git
|
|
|
|
:: Will download git, svn and python.
|
|
call "%DEPOT_TOOLS_DIR%bootstrap\win\win_tools.bat"
|
|
if errorlevel 1 goto :EOF
|
|
:: Now clear errorlevel so it can be set by other programs later.
|
|
set errorlevel=
|
|
|
|
:: Initialize/update virtualenv.
|
|
cd /d "%DEPOT_TOOLS_DIR%."
|
|
call python.bat -u bootstrap\bootstrap.py --deps_file bootstrap\deps.pyl --quiet ENV
|
|
if errorlevel 1 goto :EOF
|
|
|
|
:: Shall skip automatic update?
|
|
IF "%DEPOT_TOOLS_UPDATE%" == "0" GOTO :EOF
|
|
|
|
:: We need either .\.svn\. or .\.git\. to be able to sync.
|
|
IF EXIST "%DEPOT_TOOLS_DIR%.svn\." GOTO :SVN_UPDATE
|
|
IF EXIST "%DEPOT_TOOLS_DIR%.git\." GOTO :GIT_UPDATE
|
|
echo Error updating depot_tools, no revision tool found.
|
|
goto :EOF
|
|
|
|
|
|
:SVN_UPDATE
|
|
FOR %%A IN (%*) DO (
|
|
IF "%%A" == "--force" (
|
|
call svn -q revert -R "%DEPOT_TOOLS_DIR%."
|
|
)
|
|
)
|
|
call svn -q up "%DEPOT_TOOLS_DIR%."
|
|
goto :EOF
|
|
|
|
|
|
:GIT_UPDATE
|
|
cd /d "%DEPOT_TOOLS_DIR%."
|
|
call git config remote.origin.fetch > NUL
|
|
if errorlevel 1 goto :GIT_SVN_UPDATE
|
|
for /F %%x in ('git config --get remote.origin.url') DO (
|
|
IF not "%%x" == "%GIT_URL%" (
|
|
echo Your depot_tools checkout is configured to fetch from an obsolete URL
|
|
choice /N /T 60 /D N /M "Would you like to update it? [y/N]: "
|
|
IF not errorlevel 2 (
|
|
call git config remote.origin.url "%GIT_URL%"
|
|
)
|
|
)
|
|
)
|
|
call git fetch -q origin > NUL
|
|
call git rebase -q origin/master > NUL
|
|
if errorlevel 1 echo Failed to update depot_tools.
|
|
goto :EOF
|
|
|
|
|
|
:GIT_SVN_UPDATE
|
|
cd /d "%DEPOT_TOOLS_DIR%."
|
|
call git svn rebase -q -q
|
|
goto :EOF
|