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

Set SRCDIR as the current directory for git.
This commit is contained in:
Alexey Izbyshev 2018-10-20 03:49:41 +03:00 committed by Victor Stinner
parent d5b4f1b5a0
commit aa95bfb5fe
1 changed files with 9 additions and 3 deletions

View File

@ -48,7 +48,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
@ -60,7 +62,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"
@ -98,7 +102,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)