Commit 375765c6 authored by mmoss@chromium.org's avatar mmoss@chromium.org

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
parent 50289c26
......@@ -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)
# Copyright 2014 The Chromium Authors. All rights reserved.
# 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 'git-sub-command'. This script will then instead invoke
## '[depot_tools]/git_sub_command.py' correctly under mingw as well
## 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_git_runner.sh" > git-foo-command
## echo ". python_runner.sh" > git-foo-command
## ./git-foo-command #=> runs `python git_foo_command.py`
## Constants
......@@ -19,13 +19,27 @@ PYTHONDONTWRITEBYTECODE=1
#
# SCRIPT defaults to the basename of $0, with dashes replaced with underscores
if [[ $OSTYPE = msys ]]
then
DEPOT_TOOLS="${0%\\*}"
BASENAME="${0##*\\}"
else
# "$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%/*}"
BASENAME="${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}"
......
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