diff --git a/bootstrap/gclient.sh b/bootstrap/gclient.sh new file mode 100755 index 000000000..7223bd86f --- /dev/null +++ b/bootstrap/gclient.sh @@ -0,0 +1,17 @@ +#!/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" "$@" diff --git a/gclient b/gclient index 3705f0b39..639ecfbbe 100755 --- a/gclient +++ b/gclient @@ -6,24 +6,7 @@ # This script will try to sync the bootstrap directories and then defer control. base_dir=$(dirname "$0") - -# Update git checkouts prior the cygwin check, we don't want to use msysgit. -if [ "X$DEPOT_TOOLS_UPDATE" != "X0" -a -e "$base_dir/.git" ] -then - (cd "$base_dir"; git svn fetch -q; git merge trunk -q) -fi - -if [ "X$DEPOT_TOOLS_UPDATE" != "X0" -a -e "$base_dir/git-cl-repo/.git" ] -then - (cd "$base_dir/git-cl-repo"; git pull -q) -fi - -if [ "X$DEPOT_TOOLS_UPDATE" != "X0" -a -e "$base_dir/git-try-repo/.git" ] -then - (cd "$base_dir/git-try-repo"; git pull -q) -fi - - + # Use the batch file as an entry point if on cygwin. if [ "${OSTYPE}" = "cygwin" -a "${TERM}" = "cygwin" ]; then ${base_dir}/gclient.bat "$@" @@ -31,12 +14,14 @@ if [ "${OSTYPE}" = "cygwin" -a "${TERM}" = "cygwin" ]; then fi -# We're on POSIX (not cygwin). We can now safely look for svn checkout. if [ "X$DEPOT_TOOLS_UPDATE" != "X0" -a -e "$base_dir/.svn" ] then # Update the bootstrap directory to stay up-to-date with the latest # depot_tools. - svn -q up "$base_dir" -fi + svn -q up "$base_dir/bootstrap" -exec python "$base_dir/gclient.py" "$@" + # Then defer the control to the bootstrapper. + exec "$base_dir/bootstrap/gclient.sh" "$@" +else + exec python "$base_dir/gclient.py" "$@" +fi