|
|
|
@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
|
Handle updating depot_tools repos that are git cloned.
Until recently, no proper Git clone of depot_tools existed.
All Git clones were set up locally via git svn clone. The
way repos of that type are updated is via 'git svn rebase'.
Now, a supported Git clone of depot_tools exists. The
update process for repos of this type is via 'git fetch'
and 'git rebase'.
Modify the update_depot_tools* scripts so they can update
depot_tools for git cloned or git svn cloned methods. This
also means that git svn is no longer required, so move that
test after we check for git cloned repos.
R=maruel@chromium.org
TEST=Linux + git clone: on Linux, git clone
https://git.chromium.org/chromium/tools/depot_tools.git. Apply
and commit this patch locally. Note commit hash of HEAD. Run
'git reset --hard "HEAD^^^"'. Run
'git cherry-pick HASH_OF_UPDATE_CHANGE'. Run './update_depot_tools'.
Verify depot_tools is updated to latest available revision + this
change.
TEST=Linux + git svn clone: on Linux, git svn clone
svn://svn.chromium.org/chrome/trunk/tools/depot_tools.
Apply and commit this patch locally. Note commit hash
of HEAD. Run 'git reset --hard "HEAD^^^"'. Run 'git cherry-pick
HASH_OF_UPDATE_CHANGE'. Run './update_depot_tools'. Verify
depot_tools is updated to latest available revision + this change.
TEST=Windows command prompt + git clone: on Windows command prompt,
run Linux+git clone test, except use update_depot_tools.bat. Verify
depot_tools is updated to latest available revision + this change.
TEST=Windows command prompt + git svn clone: on Windows command
prompt, run Linux+git svn clone test, except use
update_depot_tools.bat. Verify depot_tools is updated to latest
available revision + this change.
TEST=Windows cygwin + git clone: on Windows command prompt,
run Linux+git clone test. Verify depot_tools is updated to latest
available revision + this change.
TEST=Windows cygwin + git svn clone: on Windows command
prompt, run Linux+git svn clone test. Verify depot_tools is updated
to latest available revision + this change.
Review URL: https://chromiumcodereview.appspot.com/10263004
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@134732 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
|
|
|
:: 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 "%~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."
|
Handle updating depot_tools repos that are git cloned.
Until recently, no proper Git clone of depot_tools existed.
All Git clones were set up locally via git svn clone. The
way repos of that type are updated is via 'git svn rebase'.
Now, a supported Git clone of depot_tools exists. The
update process for repos of this type is via 'git fetch'
and 'git rebase'.
Modify the update_depot_tools* scripts so they can update
depot_tools for git cloned or git svn cloned methods. This
also means that git svn is no longer required, so move that
test after we check for git cloned repos.
R=maruel@chromium.org
TEST=Linux + git clone: on Linux, git clone
https://git.chromium.org/chromium/tools/depot_tools.git. Apply
and commit this patch locally. Note commit hash of HEAD. Run
'git reset --hard "HEAD^^^"'. Run
'git cherry-pick HASH_OF_UPDATE_CHANGE'. Run './update_depot_tools'.
Verify depot_tools is updated to latest available revision + this
change.
TEST=Linux + git svn clone: on Linux, git svn clone
svn://svn.chromium.org/chrome/trunk/tools/depot_tools.
Apply and commit this patch locally. Note commit hash
of HEAD. Run 'git reset --hard "HEAD^^^"'. Run 'git cherry-pick
HASH_OF_UPDATE_CHANGE'. Run './update_depot_tools'. Verify
depot_tools is updated to latest available revision + this change.
TEST=Windows command prompt + git clone: on Windows command prompt,
run Linux+git clone test, except use update_depot_tools.bat. Verify
depot_tools is updated to latest available revision + this change.
TEST=Windows command prompt + git svn clone: on Windows command
prompt, run Linux+git svn clone test, except use
update_depot_tools.bat. Verify depot_tools is updated to latest
available revision + this change.
TEST=Windows cygwin + git clone: on Windows command prompt,
run Linux+git clone test. Verify depot_tools is updated to latest
available revision + this change.
TEST=Windows cygwin + git svn clone: on Windows command
prompt, run Linux+git svn clone test. Verify depot_tools is updated
to latest available revision + this change.
Review URL: https://chromiumcodereview.appspot.com/10263004
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@134732 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
|
|
|
call git config remote.origin.fetch > NUL
|
|
|
|
if errorlevel 1 goto :GIT_SVN_UPDATE
|
|
|
|
call git fetch -q origin > NUL
|
|
|
|
call git rebase -q origin/master > NUL
|
Handle updating depot_tools repos that are git cloned.
Until recently, no proper Git clone of depot_tools existed.
All Git clones were set up locally via git svn clone. The
way repos of that type are updated is via 'git svn rebase'.
Now, a supported Git clone of depot_tools exists. The
update process for repos of this type is via 'git fetch'
and 'git rebase'.
Modify the update_depot_tools* scripts so they can update
depot_tools for git cloned or git svn cloned methods. This
also means that git svn is no longer required, so move that
test after we check for git cloned repos.
R=maruel@chromium.org
TEST=Linux + git clone: on Linux, git clone
https://git.chromium.org/chromium/tools/depot_tools.git. Apply
and commit this patch locally. Note commit hash of HEAD. Run
'git reset --hard "HEAD^^^"'. Run
'git cherry-pick HASH_OF_UPDATE_CHANGE'. Run './update_depot_tools'.
Verify depot_tools is updated to latest available revision + this
change.
TEST=Linux + git svn clone: on Linux, git svn clone
svn://svn.chromium.org/chrome/trunk/tools/depot_tools.
Apply and commit this patch locally. Note commit hash
of HEAD. Run 'git reset --hard "HEAD^^^"'. Run 'git cherry-pick
HASH_OF_UPDATE_CHANGE'. Run './update_depot_tools'. Verify
depot_tools is updated to latest available revision + this change.
TEST=Windows command prompt + git clone: on Windows command prompt,
run Linux+git clone test, except use update_depot_tools.bat. Verify
depot_tools is updated to latest available revision + this change.
TEST=Windows command prompt + git svn clone: on Windows command
prompt, run Linux+git svn clone test, except use
update_depot_tools.bat. Verify depot_tools is updated to latest
available revision + this change.
TEST=Windows cygwin + git clone: on Windows command prompt,
run Linux+git clone test. Verify depot_tools is updated to latest
available revision + this change.
TEST=Windows cygwin + git svn clone: on Windows command
prompt, run Linux+git svn clone test. Verify depot_tools is updated
to latest available revision + this change.
Review URL: https://chromiumcodereview.appspot.com/10263004
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@134732 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
|
|
|
goto :EOF
|
|
|
|
|
|
|
|
:GIT_SVN_UPDATE
|
|
|
|
cd /d "%~dp0."
|
|
|
|
call git svn rebase -q -q
|
|
|
|
goto :EOF
|