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

In git worktree directories, `.git` is a configuration
file rather than a subdirectory
(cherry picked from commit 6a6d090612)
This commit is contained in:
Nick Coghlan 2017-03-12 20:00:20 +10:00 committed by GitHub
parent 4652d82a51
commit 61a82a5fbf
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: