bpo-29798: Handle git worktree in `make patchcheck` (#629)

In git worktree directories, `.git` is a configuration
file rather than a subdirectory
This commit is contained in:
Nick Coghlan 2017-03-12 19:37:09 +10:00 committed by GitHub
parent 8999caeb00
commit 6a6d090612
1 changed files with 4 additions and 1 deletions

View File

@ -98,7 +98,10 @@ def changed_files(base_branch=None):
cmd += ' --rev qparent'
with subprocess.Popen(cmd.split(), stdout=subprocess.PIPE) as st:
return [x.decode().rstrip() for x in st.stdout]
elif os.path.isdir(os.path.join(SRCDIR, '.git')):
elif os.path.exists(os.path.join(SRCDIR, '.git')):
# We just use an existence check here as:
# directory = normal git checkout/clone
# file = git worktree directory
if base_branch:
cmd = 'git diff --name-status ' + base_branch
else: