From: Daan De Meyer Date: Sun, 17 Jul 2022 20:07:46 +0000 (+0200) Subject: Use Path() a bit more in copy_git_files X-Git-Tag: v14~129^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=90a6992689f0fa2dac935596ed5303f55b8ffb09;p=thirdparty%2Fmkosi.git Use Path() a bit more in copy_git_files --- diff --git a/mkosi/__init__.py b/mkosi/__init__.py index 0f01f980b..1971bd512 100644 --- a/mkosi/__init__.py +++ b/mkosi/__init__.py @@ -3597,7 +3597,7 @@ def copy_git_files(src: Path, dest: Path, *, source_file_transfer: SourceFileTra uid = int(os.getenv("SUDO_UID", 0)) c = run(["git", "-C", src, "ls-files", "-z", *what_files], stdout=PIPE, text=False, user=uid) - files = {x.decode("utf-8") for x in c.stdout.rstrip(b"\0").split(b"\0")} + files: Set[str] = {x.decode("utf-8") for x in c.stdout.rstrip(b"\0").split(b"\0")} # Add the .git/ directory in as well. if source_file_transfer == SourceFileTransfer.copy_git_more: @@ -3617,23 +3617,23 @@ def copy_git_files(src: Path, dest: Path, *, source_file_transfer: SourceFileTra files -= submodules for sm in submodules: + sm = Path(sm) c = run( - ["git", "-C", os.path.join(src, sm), "ls-files", "-z"] + what_files, + ["git", "-C", src / sm, "ls-files", "-z"] + what_files, stdout=PIPE, text=False, user=uid, ) - files |= {os.path.join(sm, x.decode("utf-8")) for x in c.stdout.rstrip(b"\0").split(b"\0")} + files |= {sm / x.decode("utf-8") for x in c.stdout.rstrip(b"\0").split(b"\0")} files -= submodules del c for path in files: - src_path = os.path.join(src, path) - dest_path = os.path.join(dest, path) + src_path = src / path + dest_path = dest / path - directory = os.path.dirname(dest_path) - os.makedirs(directory, exist_ok=True) + dest_path.parent.mkdir(parents=True, exist_ok=True) copy_file(src_path, dest_path)