From: Daan De Meyer Date: Thu, 22 May 2025 12:26:14 +0000 (+0200) Subject: Make sure git doesn't fail when running as root X-Git-Tag: v26~220 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a0b4e1af9a35c0ce7e105c3c11b541f4a70b7b35;p=thirdparty%2Fmkosi.git Make sure git doesn't fail when running as root We have to mark the .git directory we're checking as safe otherwise git operate on it. --- diff --git a/mkosi/config.py b/mkosi/config.py index 45a4c178b..0172ebe8b 100644 --- a/mkosi/config.py +++ b/mkosi/config.py @@ -1484,9 +1484,13 @@ def config_parse_minimum_version(value: Optional[str], old: Optional[str]) -> Op if not (gitdir / ".git").exists(): die("Cannot check mkosi git version, not running mkosi from a git repository") - current = run(["git", "-C", gitdir, "rev-parse", "HEAD"], stdout=subprocess.PIPE).stdout.strip() + git: list[PathString] = ["git", "-C", gitdir] + if os.getuid() == 0: + git += ["-c", f"safe.directory={gitdir}"] - result = run(["git", "-C", gitdir, "merge-base", "--is-ancestor", hash, current], check=False) + current = run([*git, "rev-parse", "HEAD"], stdout=subprocess.PIPE).stdout.strip() + + result = run([*git, "merge-base", "--is-ancestor", hash, current], check=False) if result.returncode == 1: die( f"mkosi commit {hash} or newer is required by this configuration",