Commit f52a6053 authored by iannucci@chromium.org's avatar iannucci@chromium.org

Refactor the way that git executables are launched in depot tools.

This introduces python_git_runner.sh, and makes git-cl, git-cache, git-number,
and git-try use it.

R=agable@chromium.org, szager@chromium.org
BUG=261738

Review URL: https://codereview.chromium.org/188383002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@256131 0039d316-1c4b-4281-b951-d872f2087c98
parent afc32ce3
#!/bin/sh
#!/bin/bash
# Copyright 2014 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.
# git-cache -- a git-command for managing local caches of remote repositories.
# git_cache.py - a git-command for managing local caches of remote repositories.
# Test if this script is running under a MSys install. If it is, we will
# hardcode the path to Python where possible.
OUTPUT="$(uname | grep 'MINGW')"
MINGW=$?
if [ $MINGW = 0 ]; then
base_dir="${0%\\*}"
else
base_dir=$(dirname "$0")
fi
# Uncomment this line if you never use gclient.
# "$base_dir"/update_depot_tools
if [ -e "$base_dir/python.bat" -a $MINGW = 0 ]; then
PYTHONDONTWRITEBYTECODE=1 cmd.exe //c "$base_dir\\python.bat" "$base_dir\\git_cache.py" "$@"
else
PYTHONDONTWRITEBYTECODE=1 exec "$base_dir/git_cache.py" "$@"
fi
. $(type -P python_git_runner.sh)
#!/bin/sh
# Copyright (c) 2012 The Chromium Authors. All rights reserved.
#!/bin/bash
# Copyright (c) 2014 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.
# git-cl -- a git-command for integrating reviews on Rietveld
# git_cl.py -- a git-command for integrating reviews on Rietveld
# Copyright (C) 2008 Evan Martin <martine@danga.com>
# Test if this script is running under a MSys install. If it is, we will
# hardcode the path to Python where possible.
OUTPUT="$(uname | grep 'MINGW')"
MINGW=$?
if [ $MINGW = 0 ]; then
base_dir="${0%\\*}"
else
base_dir=$(dirname "$0")
fi
# Uncomment this line if you never use gclient.
# "$base_dir"/update_depot_tools
if [ -e "$base_dir/python.bat" -a $MINGW = 0 ]; then
PYTHONDONTWRITEBYTECODE=1 cmd.exe //c "$base_dir\\python.bat" "$base_dir\\git_cl.py" "$@"
else
PYTHONDONTWRITEBYTECODE=1 exec "$base_dir/git_cl.py" "$@"
fi
. $(type -P python_git_runner.sh)
#!/bin/sh
#!/bin/bash
# Copyright 2013 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.
# git-number -- a git-command for calculating and displaying the generation
# git_number.py - a git-command for calculating and displaying the generation
# number of a commit.
# Test if this script is running under a MSys install. If it is, we will
# hardcode the path to Python where possible.
OUTPUT="$(uname | grep 'MINGW')"
MINGW=$?
if [ $MINGW = 0 ]; then
base_dir="${0%\\*}"
else
base_dir=$(dirname "$0")
fi
# Uncomment this line if you never use gclient.
# "$base_dir"/update_depot_tools
if [ -e "$base_dir/python.bat" -a $MINGW = 0 ]; then
PYTHONDONTWRITEBYTECODE=1 cmd.exe //c "$base_dir\\python.bat" "$base_dir\\git_number.py" "$@"
else
PYTHONDONTWRITEBYTECODE=1 exec "$base_dir/git_number.py" "$@"
fi
. $(type -P python_git_runner.sh)
#!/bin/sh
#!/bin/bash
# Copyright (c) 2011 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.
# Test if this script is running under a MSys install. If it is, we will
# hardcode the path to Python where possible.
OUTPUT="$(uname | grep 'MINGW')"
MINGW=$?
# git_try.py - Commits a patch to the SVN try patch repo.
# It is highly recommended to use `git cl try` instead.
if [ $MINGW = 0 ]; then
base_dir="${0%\\*}"
else
base_dir=$(dirname "$0")
fi
if [ -e "$base_dir/python.bat" -a $MINGW = 0 ]; then
PYTHONDONTWRITEBYTECODE=1 cmd.exe //c "$base_dir\\python.bat" "$base_dir\\git_try.py" "$@"
else
PYTHONDONTWRITEBYTECODE=1 exec "$base_dir/git_try.py" "$@"
fi
. $(type -P python_git_runner.sh)
# Copyright 2014 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 file is designed to be sourced from a bash script whose name takes the
## form 'git-sub-command'. This script will then instead invoke
## '[depot_tools]/git_sub_command.py' correctly under mingw as well
## as posix-ey systems, passing along all other command line flags.
## Example:
## echo ". python_git_runner.sh" > git-foo-command
## ./git-foo-command #=> runs `python git_foo_command.py`
## Constants
PYTHONDONTWRITEBYTECODE=1
## "Input parameters".
# If set before the script is sourced, then we'll use the pre-set values.
#
# SCRIPT defaults to the basename of $0, with dashes replaced with underscores
if [[ $OSTYPE = msys ]]
then
DEPOT_TOOLS="${0%\\*}"
BASENAME="${0##*\\}"
else
DEPOT_TOOLS="${0%/*}"
BASENAME="${0##*/}"
fi
SCRIPT="${SCRIPT-${BASENAME//-/_}.py}"
if [[ -e "$DEPOT_TOOLS/python.bat" && $OSTYPE = msys ]]; then
cmd.exe //c "$DEPOT_TOOLS\\python.bat" "$DEPOT_TOOLS\\$SCRIPT" "$@"
else
exec "$DEPOT_TOOLS/$SCRIPT" "$@"
fi
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment