Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(571)

Side by Side Diff: bootstrap/win/win_tools.bat

Issue 1827403003: Add logic for git 2.7.4 upgrade. (Closed) Base URL: https://chromium.googlesource.com/chromium/tools/depot_tools.git@master
Patch Set: preload index too Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « bootstrap/win/git.template.bat ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 @echo off 1 @echo off
2 :: Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 :: Copyright (c) 2012 The Chromium Authors. All rights reserved.
3 :: Use of this source code is governed by a BSD-style license that can be 3 :: Use of this source code is governed by a BSD-style license that can be
4 :: found in the LICENSE file. 4 :: found in the LICENSE file.
5 5
6 :: This script will try to find if svn and python are accessible and it not, 6 :: This script will try to find if svn and python are accessible and it not,
7 :: it will try to download it and 'install' it in depot_tools. 7 :: it will try to download it and 'install' it in depot_tools.
8 8
9 :: Sadly, we can't use SETLOCAL here otherwise it ERRORLEVEL is not correctly 9 :: Sadly, we can't use SETLOCAL here otherwise it ERRORLEVEL is not correctly
10 :: returned. 10 :: returned.
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
50 goto :GIT_CHECK 50 goto :GIT_CHECK
51 51
52 52
53 :PYTHON_FAIL 53 :PYTHON_FAIL
54 echo ... Failed to checkout python automatically. 54 echo ... Failed to checkout python automatically.
55 echo You should get the "prebaked" version at %WIN_TOOLS_ROOT_URL%/third_party/ 55 echo You should get the "prebaked" version at %WIN_TOOLS_ROOT_URL%/third_party/
56 set ERRORLEVEL=1 56 set ERRORLEVEL=1
57 goto :END 57 goto :END
58 58
59 :GIT_CHECK 59 :GIT_CHECK
60 if "%DEPOT_TOOLS_GIT_BLEEDING%" == "1" ( 60
61 set GIT_VERSION=1.9.5.chromium.6 61 :: See if we're on XP
62 ) else (
63 set GIT_VERSION=1.9.5.chromium.6
64 )
65 for /f "tokens=2 delims=[]" %%i in ('ver') do set VERSTR=%%i 62 for /f "tokens=2 delims=[]" %%i in ('ver') do set VERSTR=%%i
66 for /f "tokens=2,3 delims=. " %%i in ("%VERSTR%") do (set VERMAJOR=%%i & set VER MINOR=%%j) 63 for /f "tokens=2,3 delims=. " %%i in ("%VERSTR%") do (set VERMAJOR=%%i & set VER MINOR=%%j)
67 if %VERMAJOR% lss 5 set GIT_VERSION=%GIT_VERSION%-xp 64 if %VERMAJOR% lss 5 set GIT_VERSION=%GIT_VERSION%-xp
68 if %VERMAJOR% equ 5 if %VERMINOR% lss 2 set GIT_VERSION=%GIT_VERSION%-xp 65 if %VERMAJOR% equ 5 if %VERMINOR% lss 2 set XP_SUFFIX=-xp
69 66
67 :: Check to see if we're on a 32 or 64 bit system
68 reg Query "HKLM\Hardware\Description\System\CentralProcessor\0" | find /i "x86" > NUL && set OS_BITS=32 || set OS_BITS=64
69
70 if not exist "%WIN_TOOLS_ROOT_DIR%\.git_bleeding_edge" goto :GIT_OLD_FLOW
iannucci 2016/03/29 00:11:12 can't use code blocks here, because we can't rely
71 set GIT_PORTABLE_FLOW=1
72 set GIT_VERSION=2.7.4-%OS_BITS%
73 set GIT_FETCH_URL=https://commondatastorage.googleapis.com/chrome-infra/Portable Git-%GIT_VERSION%-bit.7z.exe
74 set GIT_DOWNLOAD_PATH=%ZIP_DIR%\git.7z.exe
75 set GIT_BIN_DIR=git-%GIT_VERSION%_bin
76 set GIT_INST_DIR=%WIN_TOOLS_ROOT_DIR%\%GIT_BIN_DIR%
77 set GIT_EXE_PATH=%GIT_INST_DIR%\bin\git.exe
78 goto :GIT_CLEANUP
79
80 :GIT_OLD_FLOW
81 set GIT_VERSION=1.9.5.chromium.6%XP_SUFFIX%
82 set GIT_BIN_DIR=git-%GIT_VERSION%_bin
83 set GIT_FETCH_URL=https://commondatastorage.googleapis.com/chrome-infra/%GIT_BIN _DIR%.zip
84 set GIT_DOWNLOAD_PATH=%ZIP_DIR%\git.zip
85 set GIT_INST_DIR=%WIN_TOOLS_ROOT_DIR%\%GIT_BIN_DIR%
86 set GIT_EXE_PATH=%GIT_INST_DIR%\cmd\git.cmd
87
88 :GIT_CLEANUP
70 :: Clean up any release which doesn't match the one we want. 89 :: Clean up any release which doesn't match the one we want.
71 for /d %%i in ("%WIN_TOOLS_ROOT_DIR%\git-*_bin") do ( 90 for /d %%i in ("%WIN_TOOLS_ROOT_DIR%\git-*_bin") do (
72 if not "%%i" == "%WIN_TOOLS_ROOT_DIR%\git-%GIT_VERSION%_bin" ( 91 if not "%%i" == "%WIN_TOOLS_ROOT_DIR%\git-%GIT_VERSION%_bin" (
92 echo Cleaning old git installation %%i
73 rmdir /s /q "%%i" 93 rmdir /s /q "%%i"
74 ) 94 )
75 ) 95 )
76 set GIT_BIN_DIR=git-%GIT_VERSION%_bin
77 set GIT_ZIP_FILE=%GIT_BIN_DIR%.zip
78 set GIT_ZIP_URL=https://commondatastorage.googleapis.com/chrome-infra/%GIT_ZIP_F ILE%
79 96
80 if "%WIN_TOOLS_FORCE%" == "1" goto :GIT_INSTALL 97 if "%WIN_TOOLS_FORCE%" == "1" goto :GIT_INSTALL
81 if exist "%WIN_TOOLS_ROOT_DIR%\%GIT_BIN_DIR%\cmd\git.cmd" ( 98
82 call "%WIN_TOOLS_ROOT_DIR%\%GIT_BIN_DIR%\cmd\git.cmd" --version 2>nul 1>nul 99 if exist "%GIT_EXE_PATH%" (
100 call "%GIT_EXE_PATH%" --version 2>nul 1>nul
83 if errorlevel 1 goto :GIT_INSTALL 101 if errorlevel 1 goto :GIT_INSTALL
84 rem Several git versions can live side-by-side; check the top-level 102 rem Several git versions can live side-by-side; check the top-level
85 rem batch script to make sure it points to the desired version. 103 rem batch script to make sure it points to the desired version.
86 find "%GIT_BIN_DIR%" "%WIN_TOOLS_ROOT_DIR%\git.bat" 2>nul 1>nul 104 find "%GIT_BIN_DIR%" "%WIN_TOOLS_ROOT_DIR%\git.bat" 2>nul 1>nul
87 if errorlevel 1 goto :GIT_COPY_BATCH_FILES 105 if errorlevel 1 goto :GIT_MAKE_BATCH_FILES
88 goto :SVN_CHECK 106 goto :SVN_CHECK
89 ) 107 )
90 goto :GIT_INSTALL 108 goto :GIT_INSTALL
91 109
92
93 :GIT_INSTALL 110 :GIT_INSTALL
94 echo Installing git %GIT_VERSION% (avg 1-2 min download) ... 111 echo Installing git %GIT_VERSION% (avg 1-2 min download) ...
112 echo Detected: %OS_BITS% bits
113 if defined XP_SUFFIX echo ... Windows XP
114 if defined GIT_PORTABLE_FLOW echo ... Portable installation flow
115
95 :: git is not accessible; check it out and create 'proxy' files. 116 :: git is not accessible; check it out and create 'proxy' files.
96 if exist "%ZIP_DIR%\git.zip" del "%ZIP_DIR%\git.zip" 117 if exist "%GIT_DOWNLOAD_PATH%" del "%GIT_DOWNLOAD_PATH%"
97 echo Fetching from %GIT_ZIP_URL% 118 echo Fetching from %GIT_FETCH_URL%
98 cscript //nologo //e:jscript "%~dp0get_file.js" %GIT_ZIP_URL% "%ZIP_DIR%\git.zip " 119 cscript //nologo //e:jscript "%~dp0get_file.js" %GIT_FETCH_URL% "%GIT_DOWNLOAD_P ATH%"
99 if errorlevel 1 goto :GIT_FAIL 120 if errorlevel 1 goto :GIT_FAIL
100 :: Cleanup svn directory if it was existing. 121 :: Cleanup git directory if it already exists.
101 if exist "%WIN_TOOLS_ROOT_DIR%\%GIT_BIN_DIR%\." rd /q /s "%WIN_TOOLS_ROOT_DIR%\% GIT_BIN_DIR%" 122 if exist "%GIT_INST_DIR%\." rd /q /s "%GIT_INST_DIR%"
102 :: Will create %GIT_BIN_DIR%\... 123
103 cscript //nologo //e:jscript "%~dp0unzip.js" "%ZIP_DIR%\git.zip" "%WIN_TOOLS_ROO T_DIR%" 124 if defined GIT_PORTABLE_FLOW (
125 rem run PortableGit self-extractor
126 rem -y : Be Quiet ("yes")
127 rem -sd1 : Self delete SFX archive
128 rem -InstallPath : Where to put the files
129 rem -Directory : Run the post-extract program with this current-working-direct ory
130 call "%GIT_DOWNLOAD_PATH%" -y -sd1 -InstallPath="%GIT_INST_DIR%" -Directory="% GIT_INST_DIR%"
131 ) else (
132 rem Will create %GIT_INST_DIR%\...
133 cscript //nologo //e:jscript "%~dp0unzip.js" "%GIT_DOWNLOAD_PATH%" "%WIN_TOOLS _ROOT_DIR%"
134 )
135
104 if errorlevel 1 goto :GIT_FAIL 136 if errorlevel 1 goto :GIT_FAIL
105 if not exist "%WIN_TOOLS_ROOT_DIR%\%GIT_BIN_DIR%\." goto :GIT_FAIL 137 del "%GIT_DOWNLOAD_PATH%"
106 del "%ZIP_DIR%\git.zip" 138 if not exist "%GIT_INST_DIR%\." goto :GIT_FAIL
107 goto :GIT_COPY_BATCH_FILES
108 139
109 140 :GIT_MAKE_BATCH_FILES
110 :GIT_COPY_BATCH_FILES
111 :: Create the batch files. 141 :: Create the batch files.
112 call copy /y "%WIN_TOOLS_ROOT_DIR%\%GIT_BIN_DIR%\git.bat" "%WIN_TOOLS_ROOT_DIR%\ git.bat" 1>nul 142 set GIT_TEMPL=%~dp0git.template.bat
113 call copy /y "%WIN_TOOLS_ROOT_DIR%\%GIT_BIN_DIR%\gitk.bat" "%WIN_TOOLS_ROOT_DIR% \gitk.bat" 1>nul 143 set SED=%GIT_INST_DIR%\usr\bin\sed.exe
114 call copy /y "%WIN_TOOLS_ROOT_DIR%\%GIT_BIN_DIR%\ssh.bat" "%WIN_TOOLS_ROOT_DIR%\ ssh.bat" 1>nul 144 if defined GIT_PORTABLE_FLOW (
115 call copy /y "%WIN_TOOLS_ROOT_DIR%\%GIT_BIN_DIR%\ssh-keygen.bat" "%WIN_TOOLS_ROO T_DIR%\ssh-keygen.bat" 1>nul 145 rem turns out we just installed sed :)
146 call "%SED%" -e "s/GIT_BIN_DIR/%GIT_BIN_DIR%/" -e "s/GIT_PROGRAM/cmd\\\\git.ex e/" < %GIT_TEMPL% > "%WIN_TOOLS_ROOT_DIR%\git.bat"
147 call "%SED%" -e "s/GIT_BIN_DIR/%GIT_BIN_DIR%/" -e "s/GIT_PROGRAM/cmd\\\\gitk.e xe/" < %GIT_TEMPL% > "%WIN_TOOLS_ROOT_DIR%\gitk.bat"
148 call "%SED%" -e "s/GIT_BIN_DIR/%GIT_BIN_DIR%/" -e "s/GIT_PROGRAM/usr\\\\bin\\\ \ssh.exe/" < %GIT_TEMPL% > "%WIN_TOOLS_ROOT_DIR%\ssh.bat"
149 call "%SED%" -e "s/GIT_BIN_DIR/%GIT_BIN_DIR%/" -e "s/GIT_PROGRAM/usr\\\\bin\\\ \ssh-keygen.exe/" < %GIT_TEMPL% > "%WIN_TOOLS_ROOT_DIR%\ssh-keygen.bat"
150 ) else (
151 call copy /y "%WIN_TOOLS_ROOT_DIR%\%GIT_BIN_DIR%\git.bat" "%WIN_TOOLS_ROOT_DIR %\git.bat" 1>nul
152 call copy /y "%WIN_TOOLS_ROOT_DIR%\%GIT_BIN_DIR%\gitk.bat" "%WIN_TOOLS_ROOT_DI R%\gitk.bat" 1>nul
153 call copy /y "%WIN_TOOLS_ROOT_DIR%\%GIT_BIN_DIR%\ssh.bat" "%WIN_TOOLS_ROOT_DIR %\ssh.bat" 1>nul
154 call copy /y "%WIN_TOOLS_ROOT_DIR%\%GIT_BIN_DIR%\ssh-keygen.bat" "%WIN_TOOLS_R OOT_DIR%\ssh-keygen.bat" 1>nul
155 )
116 156
117 :: Ensure autocrlf and filemode are set correctly. 157 :: Ensure autocrlf and filemode are set correctly.
118 call "%WIN_TOOLS_ROOT_DIR%\git.bat" config --system core.autocrlf false 158 call "%WIN_TOOLS_ROOT_DIR%\git.bat" config --system core.autocrlf false
119 call "%WIN_TOOLS_ROOT_DIR%\git.bat" config --system core.filemode false 159 call "%WIN_TOOLS_ROOT_DIR%\git.bat" config --system core.filemode false
160 call "%WIN_TOOLS_ROOT_DIR%\git.bat" config --system core.preloadindex true
161 call "%WIN_TOOLS_ROOT_DIR%\git.bat" config --system core.fscache true
120 goto :SVN_CHECK 162 goto :SVN_CHECK
121 163
122 164
123 :GIT_FAIL 165 :GIT_FAIL
124 echo ... Failed to checkout git automatically. 166 echo ... Failed to checkout git automatically.
125 echo You should get the "prebaked" version used at %GIT_ZIP_URL% 167 echo You should get the "prebaked" version used at %GIT_FETCH_URL%
126 set ERRORLEVEL=1 168 set ERRORLEVEL=1
127 goto :END 169 goto :END
128 170
129 171
130 :SVN_CHECK 172 :SVN_CHECK
131 :: If the batch file exists, skip the svn check. 173 :: If the batch file exists, skip the svn check.
132 if exist "%WIN_TOOLS_ROOT_DIR%\svn.bat" goto :END 174 if exist "%WIN_TOOLS_ROOT_DIR%\svn.bat" goto :END
133 if "%WIN_TOOLS_FORCE%" == "1" goto :SVN_INSTALL 175 if "%WIN_TOOLS_FORCE%" == "1" goto :SVN_INSTALL
134 call svn --version 2>nul 1>nul 176 call svn --version 2>nul 1>nul
135 if errorlevel 1 goto :SVN_INSTALL 177 if errorlevel 1 goto :SVN_INSTALL
(...skipping 28 matching lines...) Expand all
164 goto :END 206 goto :END
165 207
166 208
167 :returncode 209 :returncode
168 set WIN_TOOLS_ROOT_URL= 210 set WIN_TOOLS_ROOT_URL=
169 set WIN_TOOLS_ROOT_DIR= 211 set WIN_TOOLS_ROOT_DIR=
170 exit /b %ERRORLEVEL% 212 exit /b %ERRORLEVEL%
171 213
172 :END 214 :END
173 call :returncode %ERRORLEVEL% 215 call :returncode %ERRORLEVEL%
OLDNEW
« no previous file with comments | « bootstrap/win/git.template.bat ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698