From: Nick Coghlan Date: Sun, 12 Mar 2017 10:03:45 +0000 (+1000) Subject: bpo-29798: Handle git worktree in `make patchcheck` (#629) (#635) X-Git-Tag: v2.7.14rc1~248 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ee10fb9c5b0ae8706bcf7ab70d8d65604f2517a7;p=python bpo-29798: Handle git worktree in `make patchcheck` (#629) (#635) In git worktree directories, `.git` is a configuration file rather than a subdirectory (cherry picked from commit 6a6d090612dd7deaac2bc0399fad743e5e2db606) --- diff --git a/Tools/scripts/patchcheck.py b/Tools/scripts/patchcheck.py index 8a2d90639d..9f7fb1990d 100755 --- a/Tools/scripts/patchcheck.py +++ b/Tools/scripts/patchcheck.py @@ -105,7 +105,10 @@ def changed_files(base_branch=None): return [x.decode().rstrip() for x in st.stdout] finally: st.stdout.close() - 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: