]> git.ipfire.org Git - thirdparty/mkosi.git/commitdiff
Use Path() a bit more in copy_git_files
authorDaan De Meyer <daan.j.demeyer@gmail.com>
Sun, 17 Jul 2022 20:07:46 +0000 (22:07 +0200)
committerDaan De Meyer <daan.j.demeyer@gmail.com>
Sun, 17 Jul 2022 20:11:24 +0000 (22:11 +0200)
mkosi/__init__.py

index 0f01f980b4531f482099a333025dab3b0ba49695..1971bd51285a1a5085849edc377f15b18d20e3df 100644 (file)
@@ -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)