Revert "Update git for windows to 2.10.0"
This is breaking gclient sync on windows-based platforms.
This reverts commit 74f737c618c8f21fd45b443362ca62d44ffe4246.
Change-Id: Ia220b4cb6d87144e77e2c30ec6bfb48e961e017d
diff --git a/bootstrap/win/git-bash.template.sh b/bootstrap/win/git-bash.template.sh
deleted file mode 100644
index d1e9aee..0000000
--- a/bootstrap/win/git-bash.template.sh
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/usr/bin/env bash
-export EDITOR=${EDITOR:=notepad}
-WIN_BASE=`dirname $0`
-UNIX_BASE=`cygpath "$WIN_BASE"`
-export PATH=$PATH:$UNIX_BASE/PYTHON_BIN_DIR:$UNIX_BASE/PYTHON_BIN_DIR/Scripts
-export PYTHON_DIRECT=1
-export PYTHONUNBUFFERED=1
-if [[ $# > 0 ]]; then
- $UNIX_BASE/GIT_BIN_DIR/bin/bash.exe "$@"
-else
- $UNIX_BASE/GIT_BIN_DIR/git-bash.exe &
-fi
diff --git a/bootstrap/win/git.template.bat b/bootstrap/win/git.template.bat
deleted file mode 100644
index d3b9cbc..0000000
--- a/bootstrap/win/git.template.bat
+++ /dev/null
@@ -1,5 +0,0 @@
-@echo off
-setlocal
-if not defined EDITOR set EDITOR=notepad
-set PATH=%~dp0GIT_BIN_DIR\cmd;%PATH%
-"%~dp0GIT_BIN_DIR\GIT_PROGRAM" %*
diff --git a/bootstrap/win/win_tools.bat b/bootstrap/win/win_tools.bat
index 0a512c9..67c0542 100644
--- a/bootstrap/win/win_tools.bat
+++ b/bootstrap/win/win_tools.bat
@@ -3,8 +3,8 @@
:: Use of this source code is governed by a BSD-style license that can be
:: found in the LICENSE file.
-:: This script will determine if python or git binaries need updates. It
-:: returns 123 if the user's shell must restart, otherwise !0 is failure
+:: This script will try to find if svn and python are accessible and it not,
+:: it will try to download it and 'install' it in depot_tools.
:: Sadly, we can't use SETLOCAL here otherwise it ERRORLEVEL is not correctly
:: returned.
@@ -56,129 +56,76 @@
set ERRORLEVEL=1
goto :END
-
:GIT_CHECK
-
-:: must explicitly use FIND_EXE to prevent this from grabbing e.g. gnuwin32 or
-:: msys versions.
-set FIND_EXE=%SYSTEMROOT%\System32\find.exe
-
-:: Check to see if we're on a 32 or 64 bit system
-:: (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 GIT_VERSION=2.10.0
+if "%DEPOT_TOOLS_GIT_BLEEDING%" == "1" (
+ set GIT_VERSION=1.9.5.chromium.6
) else (
- set GIT_VERSION=2.8.3
+ set GIT_VERSION=1.9.5.chromium.6
)
-set GIT_VERSION=%GIT_VERSION%-%OS_BITS%
-
-set GIT_FETCH_URL=https://storage.googleapis.com/chrome-infra/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
+for /f "tokens=2 delims=[]" %%i in ('ver') do set VERSTR=%%i
+for /f "tokens=2,3 delims=. " %%i in ("%VERSTR%") do (set VERMAJOR=%%i & set VERMINOR=%%j)
+if %VERMAJOR% lss 5 set GIT_VERSION=%GIT_VERSION%-xp
+if %VERMAJOR% equ 5 if %VERMINOR% lss 2 set GIT_VERSION=%GIT_VERSION%-xp
:: 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
+for /d %%i in (%WIN_TOOLS_ROOT_DIR%\git-*_bin) do (
+ if not %%i == %WIN_TOOLS_ROOT_DIR%\git-%GIT_VERSION%_bin (
+ rmdir /s /q "%%i"
)
)
+set GIT_BIN_DIR=git-%GIT_VERSION%_bin
+set GIT_ZIP_FILE=%GIT_BIN_DIR%.zip
+set GIT_ZIP_URL=https://commondatastorage.googleapis.com/chrome-infra/%GIT_ZIP_FILE%
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 exist "%WIN_TOOLS_ROOT_DIR%\%GIT_BIN_DIR%\cmd\git.cmd" (
+ call "%WIN_TOOLS_ROOT_DIR%\%GIT_BIN_DIR%\cmd\git.cmd" --version 2>nul 1>nul
+ if errorlevel 1 goto :GIT_INSTALL
+ rem Several git versions can live side-by-side; check the top-level
+ rem batch script to make sure it points to the desired version.
+ find "%GIT_BIN_DIR%" "%WIN_TOOLS_ROOT_DIR%\git.bat" 2>nul 1>nul
+ if errorlevel 1 goto :GIT_COPY_BATCH_FILES
+ goto :END
)
-if not exist %GIT_INST_DIR%\etc\profile.d\python.sh goto :GIT_MAKE_BATCH_FILES
-goto :SYNC_GIT_HELP_FILES
+goto :GIT_INSTALL
+
: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%"
+:: git is not accessible; check it out and create 'proxy' files.
+if exist "%ZIP_DIR%\git.zip" del "%ZIP_DIR%\git.zip"
+echo Fetching from %GIT_ZIP_URL%
+cscript //nologo //e:jscript "%~dp0get_file.js" %GIT_ZIP_URL% "%ZIP_DIR%\git.zip"
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%"
+:: Cleanup svn directory if it was existing.
+if exist "%WIN_TOOLS_ROOT_DIR%\%GIT_BIN_DIR%\." rd /q /s "%WIN_TOOLS_ROOT_DIR%\%GIT_BIN_DIR%"
+:: Will create %GIT_BIN_DIR%\...
+cscript //nologo //e:jscript "%~dp0unzip.js" "%ZIP_DIR%\git.zip" "%WIN_TOOLS_ROOT_DIR%"
if errorlevel 1 goto :GIT_FAIL
+if not exist "%WIN_TOOLS_ROOT_DIR%\%GIT_BIN_DIR%\." goto :GIT_FAIL
+del "%ZIP_DIR%\git.zip"
+goto :GIT_COPY_BATCH_FILES
-del "%GIT_DOWNLOAD_PATH%"
-if not exist "%GIT_INST_DIR%\." goto :GIT_FAIL
-set DID_UPGRADE=1
-
-:GIT_MAKE_BATCH_FILES
+:GIT_COPY_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" < %~dp0git-bash.template.sh > "%WIN_TOOLS_ROOT_DIR%\git-bash"
-copy "%~dp0profile.d.python.sh" %GIT_INST_DIR%\etc\profile.d\python.sh > NUL
+call copy /y "%WIN_TOOLS_ROOT_DIR%\%GIT_BIN_DIR%\git.bat" "%WIN_TOOLS_ROOT_DIR%\git.bat" 1>nul
+call copy /y "%WIN_TOOLS_ROOT_DIR%\%GIT_BIN_DIR%\gitk.bat" "%WIN_TOOLS_ROOT_DIR%\gitk.bat" 1>nul
+call copy /y "%WIN_TOOLS_ROOT_DIR%\%GIT_BIN_DIR%\ssh.bat" "%WIN_TOOLS_ROOT_DIR%\ssh.bat" 1>nul
+call copy /y "%WIN_TOOLS_ROOT_DIR%\%GIT_BIN_DIR%\ssh-keygen.bat" "%WIN_TOOLS_ROOT_DIR%\ssh-keygen.bat" 1>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 mingw64 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%\mingw64\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`.
- exit 123
-)
-
+:: Ensure autocrlf and filemode are set correctly.
+call "%WIN_TOOLS_ROOT_DIR%\%GIT_BIN_DIR%\cmd\git.cmd" config --system core.autocrlf false
+call "%WIN_TOOLS_ROOT_DIR%\%GIT_BIN_DIR%\cmd\git.cmd" config --system core.filemode false
goto :END
+
:GIT_FAIL
echo ... Failed to checkout git automatically.
-echo You should get the "prebaked" version used at %GIT_FETCH_URL%
+echo You should get the "prebaked" version used at %GIT_ZIP_URL%
set ERRORLEVEL=1
goto :END
-
:returncode
set WIN_TOOLS_ROOT_URL=
set WIN_TOOLS_ROOT_DIR=