diff mbox series

[5/5] git.py Replace mkdtemp with TemporaryDirectory and avoid exception masking

Message ID 20230217170009.58707-5-paulo@myneves.com
State New
Headers show
Series [1/5] tests: git-lfs: Restore _find_git_lfs | expand

Commit Message

Paulo Neves Feb. 17, 2023, 5:01 p.m. UTC
Due to using mkdtemp instead of TemporaryDirectory we needed to
manually cleanup the directory in a try finally block.
With tempfile.TemporaryDirectory we can handle the cleanup with
a "with" statement and not need to manually clean up oursevels.

Signed-off-by: Paulo Neves <paulo@myneves.com>
 lib/bb/fetch2/git.py | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff mbox series


diff --git a/lib/bb/fetch2/git.py b/lib/bb/fetch2/git.py
index fcd70fdcf..9445643e5 100644
--- a/lib/bb/fetch2/git.py
+++ b/lib/bb/fetch2/git.py
@@ -417,8 +417,7 @@  class Git(FetchMethod):
             # It would be nice to just do this inline here by running 'git-lfs fetch'
             # on the bare clonedir, but that operation requires a working copy on some
             # releases of Git LFS.
-            tmpdir = tempfile.mkdtemp(dir=d.getVar('DL_DIR'))
-            try:
+            with tempfile.TemporaryDirectory(dir=d.getVar('DL_DIR')) as tmpdir:
                 # Do the checkout. This implicitly involves a Git LFS fetch.
                 Git.unpack(self, ud, tmpdir, d)

@@ -436,8 +435,6 @@  class Git(FetchMethod):
                 # downloaded.
                 if os.path.exists(os.path.join(tmpdir, "git", ".git", "lfs")):
                     runfetchcmd("tar -cf - lfs | tar -xf - -C %s" % ud.clonedir, d, workdir="%s/git/.git" % tmpdir)
-            finally:
-                bb.utils.remove(tmpdir, recurse=True)

     def build_mirror_data(self, ud, d):