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.