You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
68 lines
2.0 KiB
Batchfile
68 lines
2.0 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=
|
|
|
|
:: 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
|
|
call svn up -q "%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
|