[Python-checkins] bpo-32256: Make patchcheck.py work for out-of-tree builds (GH-4760)

Miss Islington (bot) webhook-mailer at python.org
Fri Oct 19 21:25:54 EDT 2018


https://github.com/python/cpython/commit/42c52a9e45ed6ff2867403894bc030ed5780282d
commit: 42c52a9e45ed6ff2867403894bc030ed5780282d
branch: 3.6
author: Miss Islington (bot) <31488909+miss-islington at users.noreply.github.com>
committer: GitHub <noreply at github.com>
date: 2018-10-19T18:25:51-07:00
summary:

bpo-32256: Make patchcheck.py work for out-of-tree builds (GH-4760)


Set SRCDIR as the current directory for git.
(cherry picked from commit aa95bfb5fee366aa58c90b7e1c77fc7e183dbf3a)

Co-authored-by: Alexey Izbyshev <izbyshev at ispras.ru>

files:
M Tools/scripts/patchcheck.py

diff --git a/Tools/scripts/patchcheck.py b/Tools/scripts/patchcheck.py
index 4ab6b778be59..e5214abf6290 100755
--- a/Tools/scripts/patchcheck.py
+++ b/Tools/scripts/patchcheck.py
@@ -49,7 +49,9 @@ def get_git_branch():
     """Get the symbolic name for the current git branch"""
     cmd = "git rev-parse --abbrev-ref HEAD".split()
     try:
-        return subprocess.check_output(cmd, stderr=subprocess.DEVNULL)
+        return subprocess.check_output(cmd,
+                                       stderr=subprocess.DEVNULL,
+                                       cwd=SRCDIR)
     except subprocess.CalledProcessError:
         return None
 
@@ -61,7 +63,9 @@ def get_git_upstream_remote():
     """
     cmd = "git remote get-url upstream".split()
     try:
-        subprocess.check_output(cmd, stderr=subprocess.DEVNULL)
+        subprocess.check_output(cmd,
+                                stderr=subprocess.DEVNULL,
+                                cwd=SRCDIR)
     except subprocess.CalledProcessError:
         return "origin"
     return "upstream"
@@ -99,7 +103,9 @@ def changed_files(base_branch=None):
         else:
             cmd = 'git status --porcelain'
         filenames = []
-        with subprocess.Popen(cmd.split(), stdout=subprocess.PIPE) as st:
+        with subprocess.Popen(cmd.split(),
+                              stdout=subprocess.PIPE,
+                              cwd=SRCDIR) as st:
             for line in st.stdout:
                 line = line.decode().rstrip()
                 status_text, filename = line.split(maxsplit=1)



More information about the Python-checkins mailing list