diff --git a/bootstrap/win/win_tools.bat b/bootstrap/win/win_tools.bat index 4449ad2c5..abcbcebce 100644 --- a/bootstrap/win/win_tools.bat +++ b/bootstrap/win/win_tools.bat @@ -67,156 +67,9 @@ set FIND_EXE=%SYSTEMROOT%\System32\find.exe :: (parens) are necessary, otherwise batch puts an extra space after 32. reg Query "HKLM\Hardware\Description\System\CentralProcessor\0" | %FIND_EXE% /i "x86" > NUL && (set OS_BITS=32) || (set OS_BITS=64) -if not exist "%WIN_TOOLS_ROOT_DIR%\.git_bleeding_edge" ( - set /p GIT_VERSION= <"%~dp0git_version.txt" -) else ( - set /p GIT_VERSION= <"%~dp0git_version_bleeding_edge.txt" -) -set GIT_VERSION=%GIT_VERSION%-%OS_BITS% - -set GIT_FETCH_URL=%CHROME_INFRA_URL%PortableGit-%GIT_VERSION%-bit.7z.exe -set GIT_DOWNLOAD_PATH=%ZIP_DIR%\git.7z.exe -set GIT_BIN_DIR=git-%GIT_VERSION%_bin -set GIT_INST_DIR=%WIN_TOOLS_ROOT_DIR%\%GIT_BIN_DIR% -set GIT_EXE_PATH=%GIT_INST_DIR%\bin\git.exe - -:: Clean up any release which doesn't match the one we want. -for /d %%i in ("%WIN_TOOLS_ROOT_DIR%\git-*_bin") do ( - if not "%%i" == "%WIN_TOOLS_ROOT_DIR%\git-%GIT_VERSION%_bin" ( - echo Cleaning old git installation %%i - rmdir /s /q "%%i" > NUL - ) -) - -if "%WIN_TOOLS_FORCE%" == "1" goto :GIT_INSTALL - -if not exist "%GIT_EXE_PATH%" goto :GIT_INSTALL - -call "%GIT_EXE_PATH%" --version 2>nul 1>nul -if errorlevel 1 goto :GIT_INSTALL - -:: Several git versions can live side-by-side; check the top-level -:: batch script to make sure it points to the desired version. -for %%f in (git.bat gitk.bat ssh.bat ssh-keygen.bat git-bash) do ( - %FIND_EXE% "%GIT_BIN_DIR%" "%WIN_TOOLS_ROOT_DIR%\%%f" 2>nul 1>nul - if errorlevel 1 goto :GIT_MAKE_BATCH_FILES -) -if not exist %GIT_INST_DIR%\etc\profile.d\python.sh goto :GIT_MAKE_BATCH_FILES -goto :SYNC_GIT_HELP_FILES - -:GIT_INSTALL -echo Installing git %GIT_VERSION% (avg 1-2 min download) ... - -if exist "%GIT_DOWNLOAD_PATH%" del "%GIT_DOWNLOAD_PATH%" -echo Fetching from %GIT_FETCH_URL% -cscript //nologo //e:jscript "%~dp0get_file.js" %GIT_FETCH_URL% "%GIT_DOWNLOAD_PATH%" -if errorlevel 1 goto :GIT_FAIL -:: Cleanup git directory if it already exists. -if exist "%GIT_INST_DIR%\." rd /q /s "%GIT_INST_DIR%" - -:: run PortableGit self-extractor -:: -y : Be Quiet ("yes") -:: -sd1 : Self delete SFX archive -:: -InstallPath : Where to put the files -:: -Directory : Run the post-extract program with this current-working-directory -:: -:: Path slashes must be escaped or the 7zip sfx treats e.g. path\to\dir as -:: path[tab]o\dir. -set GIT_INST_DIR_ESC=%GIT_INST_DIR:\=\\% -call "%GIT_DOWNLOAD_PATH%" -y -sd1 -InstallPath="%GIT_INST_DIR_ESC%" -Directory="%GIT_INST_DIR_ESC%" -if errorlevel 1 goto :GIT_FAIL - -del "%GIT_DOWNLOAD_PATH%" -if not exist "%GIT_INST_DIR%\." goto :GIT_FAIL - -set DID_UPGRADE=1 - -:GIT_MAKE_BATCH_FILES -:: Create the batch files. -set GIT_TEMPL=%~dp0git.template.bat -set SED=%GIT_INST_DIR%\usr\bin\sed.exe -call "%SED%" -e "s/GIT_BIN_DIR/%GIT_BIN_DIR%/g" -e "s/GIT_PROGRAM/cmd\\\\git.exe/g" < %GIT_TEMPL% > "%WIN_TOOLS_ROOT_DIR%\git.bat" -call "%SED%" -e "s/GIT_BIN_DIR/%GIT_BIN_DIR%/g" -e "s/GIT_PROGRAM/cmd\\\\gitk.exe/g" < %GIT_TEMPL% > "%WIN_TOOLS_ROOT_DIR%\gitk.bat" -call "%SED%" -e "s/GIT_BIN_DIR/%GIT_BIN_DIR%/g" -e "s/GIT_PROGRAM/usr\\\\bin\\\\ssh.exe/g" < %GIT_TEMPL% > "%WIN_TOOLS_ROOT_DIR%\ssh.bat" -call "%SED%" -e "s/GIT_BIN_DIR/%GIT_BIN_DIR%/g" -e "s/GIT_PROGRAM/usr\\\\bin\\\\ssh-keygen.exe/g" < %GIT_TEMPL% > "%WIN_TOOLS_ROOT_DIR%\ssh-keygen.bat" -call "%SED%" -e "s/GIT_BIN_DIR/%GIT_BIN_DIR%/g" -e "s/PYTHON_BIN_DIR/python276_bin/g" -e "s/SVN_BIN_DIR/svn_bin/g" < %~dp0git-bash.template.sh > "%WIN_TOOLS_ROOT_DIR%\git-bash" -copy "%~dp0profile.d.python.sh" %GIT_INST_DIR%\etc\profile.d\python.sh > NUL - -:: Ensure various git configurations are set correctly at they system level. -call "%WIN_TOOLS_ROOT_DIR%\git.bat" config --system core.autocrlf false -call "%WIN_TOOLS_ROOT_DIR%\git.bat" config --system core.filemode false -call "%WIN_TOOLS_ROOT_DIR%\git.bat" config --system core.preloadindex true -call "%WIN_TOOLS_ROOT_DIR%\git.bat" config --system core.fscache true - -:SYNC_GIT_HELP_FILES -:: Copy all the depot_tools docs into the mingw{bits} git docs root. -:: /i : Make sure xcopy knows that the destination names a folder, not a file -:: /q : Make xcopy quiet (though it still prints a `X File(s) copied` message -:: which is why we have the > NUL) -:: /d : Copy source files that are newer than the corresponding destination -:: files only. This prevents excessive copying when none of the docs -:: actually changed. -:: /y : Don't prompt for overwrites (yes) -xcopy /i /q /d /y "%WIN_TOOLS_ROOT_DIR%\man\html\*" "%GIT_INST_DIR%\mingw%OS_BITS%\share\doc\git-doc" > NUL - -:: MSYS users need to restart their shell. -if defined MSYSTEM if defined DID_UPGRADE ( - echo. - echo. - echo IMPORTANT: - echo depot_tools' git distribution has been updated while inside of a MinGW - echo shell. In order to complete the upgrade, please exit the shell and re-run - echo `git bash` from cmd. - exit 123 -) - -goto :SVN_CHECK - -:GIT_FAIL -echo ... Failed to checkout git automatically. -echo You should get the "prebaked" version used at %GIT_FETCH_URL% -set ERRORLEVEL=1 +"%WIN_TOOLS_ROOT_DIR%\python.bat" "%~dp0git_bootstrap.py" --bits "%OS_BITS%" goto :END - -:SVN_CHECK -:: If the batch file exists, skip the svn check. -if exist "%WIN_TOOLS_ROOT_DIR%\svn.bat" goto :END -if "%WIN_TOOLS_FORCE%" == "1" goto :SVN_INSTALL -call svn --version 2>nul 1>nul -if errorlevel 1 goto :SVN_INSTALL -goto :END - - -:SVN_INSTALL -echo Installing subversion ... -:: svn is not accessible; check it out and create 'proxy' files. -set SVN_URL=%CHROME_INFRA_URL%svn_bin.zip -if exist "%ZIP_DIR%\svn.zip" del "%ZIP_DIR%\svn.zip" -echo Fetching from %SVN_URL% -cscript //nologo //e:jscript "%~dp0get_file.js" %SVN_URL% "%ZIP_DIR%\svn.zip" -if errorlevel 1 goto :SVN_FAIL -:: Cleanup svn directory if it was existing. -if exist "%WIN_TOOLS_ROOT_DIR%\svn\." rd /q /s "%WIN_TOOLS_ROOT_DIR%\svn" -if exist "%WIN_TOOLS_ROOT_DIR%\svn_bin\." rd /q /s "%WIN_TOOLS_ROOT_DIR%\svn_bin" -:: Will create svn_bin\... -cscript //nologo //e:jscript "%~dp0unzip.js" "%ZIP_DIR%\svn.zip" "%WIN_TOOLS_ROOT_DIR%" -if errorlevel 1 goto :SVN_FAIL -if not exist "%WIN_TOOLS_ROOT_DIR%\svn_bin\." goto :SVN_FAIL -del "%ZIP_DIR%\svn.zip" -:: Create the batch file. -call copy /y "%~dp0svn.new.bat" "%WIN_TOOLS_ROOT_DIR%\svn.bat" 1>nul -call copy /y "%~dp0svnversion.new.bat" "%WIN_TOOLS_ROOT_DIR%\svnversion.bat" 1>nul -goto :END - - -:SVN_FAIL -echo ... Failed to checkout svn automatically. -echo You should get the "prebaked" version at %SVN_URL% -set ERRORLEVEL=1 -goto :END - - :returncode set WIN_TOOLS_ROOT_DIR= exit /b %ERRORLEVEL%