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:
parent
7034721435
commit
0bf0473b90
1 changed files with 12 additions and 1 deletions
|
@ -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')]
|
||||
|
|
Loading…
Reference in a new issue