Reland "git-cl: Execute clang-format-diff.py using vpython."
This is a reland of 87661afbfc1b59fbfb64183379f2aadaac6c84c7
Set shell=True on Windows, so that vpython.bat can be executed.
Original change's description:
> git-cl: Execute clang-format-diff.py using vpython.
>
> When running git-cl using vpython3, sys.executable is python3.
> Execute clang-format-diff.py using vpython instead, since it has
> not been migrated already.
>
> Bug: 1066187
> Change-Id: I31556acb50ff4256706a313c1393eddad9f903f3
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2130926
> Reviewed-by: Josip Sokcevic <sokcevic@google.com>
> Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
Bug: 1066187
Change-Id: Ia482f13d0f30d625f2f6db3cb4202b7f3f95707b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2135330
Reviewed-by: Josip Sokcevic <sokcevic@google.com>
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
diff --git a/git_cl.py b/git_cl.py
index 3080091..c5c1424 100755
--- a/git_cl.py
+++ b/git_cl.py
@@ -4750,22 +4750,25 @@
if opts.diff:
sys.stdout.write(stdout)
else:
- env = os.environ.copy()
- env['PATH'] = str(os.path.dirname(clang_format_tool))
try:
script = clang_format.FindClangFormatScriptInChromiumTree(
'clang-format-diff.py')
except clang_format.NotFoundError as e:
DieWithError(e)
- cmd = [sys.executable, script, '-p0']
+ cmd = ['vpython', script, '-p0']
if not opts.dry_run and not opts.diff:
cmd.append('-i')
diff_cmd = BuildGitDiffCmd('-U0', upstream_commit, clang_diff_files)
diff_output = RunGit(diff_cmd).encode('utf-8')
- stdout = RunCommand(cmd, stdin=diff_output, cwd=top_dir, env=env)
+ env = os.environ.copy()
+ env['PATH'] = (
+ str(os.path.dirname(clang_format_tool)) + os.pathsep + env['PATH'])
+ stdout = RunCommand(
+ cmd, stdin=diff_output, cwd=top_dir, env=env,
+ shell=bool(sys.platform.startswith('win32')))
if opts.diff:
sys.stdout.write(stdout)
if opts.dry_run and len(stdout) > 0:
@@ -4967,7 +4970,7 @@
cmd.append('--dry-run')
for gn_diff_file in gn_diff_files:
gn_ret = subprocess2.call(cmd + [gn_diff_file],
- shell=sys.platform == 'win32',
+ shell=bool(sys.platform.startswith('win')),
cwd=top_dir)
if opts.dry_run and gn_ret == 2:
return_value = 2 # Not formatted.