Generalize python_git_runner for use in non-git scripts.

Retrying the change in https://codereview.chromium.org/1415993003/, with
fixes to properly handle being called with either Windows- or
POSIX-style paths (the previous attempt assumed it was always called
with POSIX-style paths under MSYS, which itself was attempting to fix
the assumption that it was always called with Windows-style paths, but
neither assumption was right).

This change doesn't actually use the wrapper in any new places, but
subsequent changes will be made to use it in places where
'exec python' is called directly, like gclient and fetch.

BUG=411518
R=iannucci@google.com, sky@google.com

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@297401 0039d316-1c4b-4281-b951-d872f2087c98
changes/01/332501/1
mmoss@chromium.org 10 years ago
parent 50289c267b
commit 375765c6bf

@ -3,4 +3,4 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
. $(type -P python_git_runner.sh)
. $(type -P python_runner.sh)

@ -3,4 +3,4 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
. $(type -P python_git_runner.sh)
. $(type -P python_runner.sh)

@ -3,4 +3,4 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
. $(type -P python_git_runner.sh)
. $(type -P python_runner.sh)

@ -3,4 +3,4 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
. $(type -P python_git_runner.sh)
. $(type -P python_runner.sh)

@ -3,4 +3,4 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
. $(type -P python_git_runner.sh)
. $(type -P python_runner.sh)

@ -3,4 +3,4 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
. $(type -P python_git_runner.sh)
. $(type -P python_runner.sh)

@ -3,4 +3,4 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
. $(type -P python_git_runner.sh)
. $(type -P python_runner.sh)

@ -5,4 +5,4 @@
SCRIPT=git_freezer.py
set -- freeze "$@"
. $(type -P python_git_runner.sh)
. $(type -P python_runner.sh)

@ -3,4 +3,4 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
. $(type -P python_git_runner.sh) | less -R
. $(type -P python_runner.sh) | less -R

@ -3,4 +3,4 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
. $(type -P python_git_runner.sh)
. $(type -P python_runner.sh)

@ -3,4 +3,4 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
. $(type -P python_git_runner.sh)
. $(type -P python_runner.sh)

@ -3,4 +3,4 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
. $(type -P python_git_runner.sh)
. $(type -P python_runner.sh)

@ -3,4 +3,4 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
. $(type -P python_git_runner.sh)
. $(type -P python_runner.sh)

@ -3,4 +3,4 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
. $(type -P python_git_runner.sh)
. $(type -P python_runner.sh)

@ -3,4 +3,4 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
. $(type -P python_git_runner.sh)
. $(type -P python_runner.sh)

@ -3,4 +3,4 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
. $(type -P python_git_runner.sh)
. $(type -P python_runner.sh)

@ -3,4 +3,4 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
. $(type -P python_git_runner.sh)
. $(type -P python_runner.sh)

@ -5,4 +5,4 @@
SCRIPT=git_retry.py
set -- retry "$@"
. $(type -P python_git_runner.sh)
. $(type -P python_runner.sh)

@ -3,4 +3,4 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
. $(type -P python_git_runner.sh)
. $(type -P python_runner.sh)

@ -10,4 +10,4 @@
SCRIPT=git_freezer.py
set -- thaw "$@"
. $(type -P python_git_runner.sh)
. $(type -P python_runner.sh)

@ -6,4 +6,4 @@
# git_try.py - Commits a patch to the SVN try patch repo.
# It is highly recommended to use `git cl try` instead.
. $(type -P python_git_runner.sh)
. $(type -P python_runner.sh)

@ -6,4 +6,4 @@
# git_upstream_diff.py -- Provide the diff between the current branch and its
# upstream.
. $(type -P python_git_runner.sh)
. $(type -P python_runner.sh)

@ -1,36 +0,0 @@
# 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

@ -0,0 +1,50 @@
# Copyright 2015 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 'command-name'. This script will then instead invoke
## '[depot_tools]/command_name.py' correctly under mingw as well
## as posix-ey systems, passing along all other command line flags.
## Example:
## echo ". python_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
# "$0" can have several different formats depending on how the script was called
# and the environment being used, including having different formats even in the
# same environment (e.g. in msys, 'git cl' causes $0 to have a Windows-style
# path, but calling 'git-cl' results in a POSIX-style path), so don't assume a
# particular format.
# First try to split it using Windows format ...
DEPOT_TOOLS="${0%\\*}"
if [[ "$DEPOT_TOOLS" = "$0" ]]; then
# If that didn't work, try POSIX format ...
DEPOT_TOOLS="${0%/*}"
if [[ "$DEPOT_TOOLS" = "$0" ]]; then
# Sometimes commands will run with no path (e.g. a git command run from
# within the depot_tools dir itself). In that case, treat it as if run like:
# "./command"
DEPOT_TOOLS="."
BASENAME="$0"
else
BASENAME="${0##*/}"
fi
else
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
Loading…
Cancel
Save