Fix git path being hard-coded This enables running hyfetch on machines without git installed via the git-for-windows installer.

This commit is contained in:
rlfx 2023-02-07 17:44:19 +01:00
parent 7034721435
commit 0bf0473b90

View file

@ -7,6 +7,7 @@ import shlex
import subprocess
import sys
import zipfile
import shutil
from dataclasses import dataclass
from pathlib import Path
from subprocess import check_output
@ -150,7 +151,6 @@ def get_command_path() -> str:
return cmd_path
def ensure_git_bash() -> Path:
"""
Ensure git bash installation for windows
@ -163,6 +163,17 @@ def ensure_git_bash() -> Path:
if def_path.is_file():
return def_path
# Labda expression that finds out if a command exists
cmd_exists = lambda x: shutil.which(x) is not None
# TEMP-FIX: Make git not hard-coded to being installed "officially" via the git-for-windows installer
if ( cmd_exists("git.exe") ):
pth = Path(shutil.which("git")).parent
if(os.path.isfile(pth / r'bash.exe')):
return pth / r'bash.exe'
elif ( os.path.isfile(pth / r'/bin/bash.exe')):
return pth / r'/bin/bash.exe'
# Find installation in PATH (C:\Program Files\Git\cmd should be in path)
pth = (os.environ.get('PATH') or '').lower().split(';')
pth = [p for p in pth if p.endswith(r'\git\cmd')]