Fix git depot_tools update flow.
In Windows (already worked correctly in posix): gclient wouldn't correctly update depot_tools when called. Refactored away the bootstrap depot_tools update flow which only still existed in Windows. Patch contributed by gab@chromium.org R=maruel@chromium.org BUG= TEST=Running `gclient sync` from src/ and see depot_tools being correctly updated under a git depot_tools checkout. Review URL: https://chromiumcodereview.appspot.com/9751009 git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@132191 0039d316-1c4b-4281-b951-d872f2087c98experimental/szager/collated-output
parent
f9b1fdb961
commit
e6c00f3f6f
@ -1,10 +1,22 @@
|
||||
@echo off
|
||||
:: Copyright (c) 2009 The Chromium Authors. All rights reserved.
|
||||
:: 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.
|
||||
|
||||
:: Synchronize the root directory before deferring control back up to it.
|
||||
call "%~dp0\update_depot_tools.bat"
|
||||
:: IMPORTANT NOTE:
|
||||
:: The bootstrap flow has been removed. This file's only purpose is to make the
|
||||
:: transition smooth as the previous update script called bootstrap\gclient.bat
|
||||
:: The current flow took place on March 21, 2012. This file should be removed
|
||||
:: when it is believed everyone has updated since then.
|
||||
|
||||
:: Defer control.
|
||||
python "%~dp0\..\gclient.py" %*
|
||||
:: At this point we know %DEPOT_TOOLS_UPDATE% != 0 as in the previous script
|
||||
:: bootstrap\gclient.bat was only called if this was the case.
|
||||
|
||||
:: Update the root directory. The previous version only supported svn so there
|
||||
:: is no need looking for git here (i.e. if someone has git they can't get to
|
||||
:: this point where the bootstrap dir is gone during the update anyways...)
|
||||
IF NOT EXIST "%~dp0..\.svn\." GOTO :EOF
|
||||
call svn up -q "%~dp0.."
|
||||
|
||||
:: Call the updated gclient.bat in the root directory to wrap the update.
|
||||
call "%~dp0..\gclient.bat"
|
||||
|
@ -1,17 +0,0 @@
|
||||
#!/bin/sh
|
||||
# Copyright (c) 2009 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 script will try to sync the root and bootstrap directories.
|
||||
|
||||
base_dir=$(dirname "$0")
|
||||
|
||||
# Skip if $DEPOT_TOOLS_UPDATE==0 or ../.svn/. doesn't exist.
|
||||
if [ "X$DEPOT_TOOLS_UPDATE" != "X0" -a -e "$base_dir/../.svn" ]
|
||||
then
|
||||
# Update the root directory.
|
||||
svn -q up "$base_dir/.."
|
||||
fi
|
||||
|
||||
exec python "$base_dir/../gclient.py" "$@"
|
@ -1,15 +0,0 @@
|
||||
@echo off
|
||||
:: Copyright (c) 2010 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.
|
||||
|
||||
:: Shall skip automatic update?
|
||||
IF "%DEPOT_TOOLS_UPDATE%" == "0" GOTO :EOF
|
||||
|
||||
:: We can't sync if ..\.svn\. doesn't exist.
|
||||
IF NOT EXIST "%~dp0..\.svn\." GOTO :EOF
|
||||
|
||||
:: Sync the .. directory to update the bootstrap at the same time.
|
||||
call svn -q up "%~dp0.."
|
@ -0,0 +1,35 @@
|
||||
@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
|
||||
|
||||
:: Will download svn and python.
|
||||
:: If you don't want to install the depot_tools version of these tools, remove
|
||||
:: the 'force' option on the next command. The tools will be installed only if
|
||||
:: not already in the PATH environment variable.
|
||||
call "%~dp0bootstrap\win\win_tools.bat" force
|
||||
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 "%~dp0.svn\." GOTO :SVN_UPDATE
|
||||
IF EXIST "%~dp0.git\." GOTO :GIT_UPDATE
|
||||
echo Error updating depot_tools, no revision tool found.
|
||||
goto :EOF
|
||||
|
||||
|
||||
:SVN_UPDATE
|
||||
call svn up -q "%~dp0."
|
||||
goto :EOF
|
||||
|
||||
|
||||
:GIT_UPDATE
|
||||
cd /d "%~dp0."
|
||||
call git svn rebase -q -q
|
||||
goto :EOF
|
Loading…
Reference in New Issue