diff options
author | Ryan <fauxpark@gmail.com> | 2020-12-21 01:46:01 +1100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-20 15:46:01 +0100 |
commit | 0239ce025aca542e4e37ec9003399bab2e92d82b (patch) | |
tree | 15cc1f12cf5155f10b14be97e73f04b363872d21 /lib | |
parent | 13bbeefc5af557abb1dc577bfafc709c5e09def0 (diff) |
Doctor: add check for .git folder (#11208)
Co-authored-by: Erovia <Erovia@users.noreply.github.com>
Diffstat (limited to 'lib')
-rwxr-xr-x | lib/python/qmk/cli/doctor.py | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/lib/python/qmk/cli/doctor.py b/lib/python/qmk/cli/doctor.py index 25e2e239cb..ea1113c645 100755 --- a/lib/python/qmk/cli/doctor.py +++ b/lib/python/qmk/cli/doctor.py @@ -154,6 +154,17 @@ def check_submodules(): return CheckStatus.OK +def check_git_repo(): + """Checks that the .git directory exists inside QMK_HOME. + + This is a decent enough indicator that the qmk_firmware directory is a + proper Git repository, rather than a .zip download from GitHub. + """ + dot_git_dir = QMK_FIRMWARE / '.git' + + return CheckStatus.OK if dot_git_dir.is_dir() else CheckStatus.WARNING + + def check_udev_rules(): """Make sure the udev rules look good. """ @@ -338,6 +349,13 @@ def doctor(cli): cli.log.info('QMK home: {fg_cyan}%s', QMK_FIRMWARE) + # Make sure our QMK home is a Git repo + git_ok = check_git_repo() + + if git_ok == CheckStatus.WARNING: + cli.log.warning("QMK home does not appear to be a Git repository! (no .git folder)") + status = CheckStatus.WARNING + # Make sure the basic CLI tools we need are available and can be executed. bin_ok = check_binaries() |