mirror of
https://chromium.googlesource.com/chromium/tools/depot_tools.git
synced 2026-01-11 18:51:29 +00:00
Check for the existence of git before running commands.
Checks in the gclient wrapper and when running any gclient git command. TEST=none BUG=none Patch contributed by Nasser <nasser@codeaurora> Review URL: http://codereview.chromium.org/518064 git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@35762 0039d316-1c4b-4281-b951-d872f2087c98
This commit is contained in:
34
gclient
34
gclient
@@ -7,14 +7,48 @@
|
||||
|
||||
base_dir=$(dirname "$0")
|
||||
|
||||
# Test git and git --version.
|
||||
function test_git {
|
||||
local GITV="$(git --version)" || {
|
||||
echo "git isn't installed, please install it"
|
||||
exit 1
|
||||
}
|
||||
|
||||
GITV="${GITV##* }" # Only examine last word (i.e. version number)
|
||||
local GITD=( ${GITV//./ } ) # Split version number into decimals
|
||||
if ((GITD[0] < 1 || (GITD[0] == 1 && GITD[1] < 6) )); then
|
||||
echo "git version is ${GITV}, please update to a version later than 1.6"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
# Test git svn and git svn --version.
|
||||
function test_git_svn {
|
||||
local GITV="$(git svn --version)" || {
|
||||
echo "git-svn isn't installed, please install it"
|
||||
exit 1
|
||||
}
|
||||
|
||||
GITV="${GITV#* version }" # git svn --version has extra output to remove.
|
||||
GITV="${GITV% (svn*}"
|
||||
local GITD=( ${GITV//./ } ) # Split version number into decimals
|
||||
if ((GITD[0] < 1 || (GITD[0] == 1 && GITD[1] < 6) )); then
|
||||
echo "git version is ${GITV}, please update to a version later than 1.6"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
# 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
|
||||
test_git_svn
|
||||
(cd "$base_dir"; git svn rebase -q -q)
|
||||
fi
|
||||
|
||||
if [ "X$DEPOT_TOOLS_UPDATE" != "X0" -a -e "$base_dir/git-cl-repo/.git" ]
|
||||
then
|
||||
test_git
|
||||
(cd "$base_dir/git-cl-repo"; git pull -q)
|
||||
fi
|
||||
|
||||
|
||||
Reference in New Issue
Block a user