mirror of
https://gitlab.com/kupfer/kupferbootstrap.git
synced 2025-06-24 17:38:21 -04:00
utils.git*(): use --git-dir=./.git to avoid "unsafe directory" issues
This commit is contained in:
parent
1275557d71
commit
024075fabd
1 changed files with 13 additions and 5 deletions
18
utils.py
18
utils.py
|
@ -73,16 +73,24 @@ def check_findmnt(path: str):
|
|||
return result.stdout.decode().strip()
|
||||
|
||||
|
||||
def git(cmd: list[str], dir: Optional[str] = None, capture_output=False, user: Optional[str] = None) -> subprocess.CompletedProcess:
|
||||
result = run_cmd(['git'] + cmd, cwd=dir, capture_output=capture_output, switch_user=user)
|
||||
def git(
|
||||
cmd: list[str],
|
||||
dir: Optional[str] = None,
|
||||
use_git_dir: bool = False,
|
||||
git_dir: str = './.git',
|
||||
capture_output=False,
|
||||
user: Optional[str] = None,
|
||||
) -> subprocess.CompletedProcess:
|
||||
dirarg = [f'--git-dir={git_dir}'] if use_git_dir else []
|
||||
result = run_cmd(['git', *dirarg] + cmd, cwd=dir, capture_output=capture_output, switch_user=user)
|
||||
assert isinstance(result, subprocess.CompletedProcess)
|
||||
return result
|
||||
|
||||
|
||||
def git_get_branch(path) -> str:
|
||||
result = git(['branch', '--show-current'], dir=path, capture_output=True)
|
||||
def git_get_branch(path, use_git_dir: bool = True, git_dir='./.git') -> str:
|
||||
result = git(['branch', '--show-current'], dir=path, use_git_dir=True, git_dir=git_dir, capture_output=True)
|
||||
if result.returncode:
|
||||
raise Exception(f'Error getting git branch for {path}')
|
||||
raise Exception(f'Error getting git branch for {path}: {result.stderr}')
|
||||
return result.stdout.decode().strip()
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue