diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2021-10-25 22:15:49 +0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2021-10-25 19:55:54 +0100 |
commit | 7be6d18cd74291371f5327dcab2412f508c70189 (patch) | |
tree | 0750a0e41f51f1478d66e676ee30f3eb221ddcc5 | |
parent | 7c8f344b81b8f8936214f87f695e24dc4e546659 (diff) | |
download | bitbake-7be6d18cd74291371f5327dcab2412f508c70189.tar.gz |
fetch2/git: Use os.rename instead of mv
os.rename will overwrite the destination file if present so we can use this
instead of the process call overhead.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit b3cccaa6a896c41d8c9be5eebc327f726542d16b)
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | lib/bb/fetch2/git.py | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/lib/bb/fetch2/git.py b/lib/bb/fetch2/git.py index 95cd971d5..00105183b 100644 --- a/lib/bb/fetch2/git.py +++ b/lib/bb/fetch2/git.py @@ -418,14 +418,14 @@ class Git(FetchMethod): # Create as a temp file and move atomically into position to avoid races @contextmanager - def create_atomic(filename, d): + def create_atomic(filename): fd, tfile = tempfile.mkstemp(dir=os.path.dirname(filename)) try: yield tfile umask = os.umask(0o666) os.umask(umask) os.chmod(tfile, (0o666 & ~umask)) - runfetchcmd("mv %s %s" % (tfile, filename), d) + os.rename(tfile, filename) finally: os.close(fd) @@ -439,7 +439,7 @@ class Git(FetchMethod): self.clone_shallow_local(ud, shallowclone, d) logger.info("Creating tarball of git repository") - with create_atomic(ud.fullshallow, d) as tfile: + with create_atomic(ud.fullshallow) as tfile: runfetchcmd("tar -czf %s ." % tfile, d, workdir=shallowclone) runfetchcmd("touch %s.done" % ud.fullshallow, d) finally: @@ -449,7 +449,7 @@ class Git(FetchMethod): os.unlink(ud.fullmirror) logger.info("Creating tarball of git repository") - with create_atomic(ud.fullmirror, d) as tfile: + with create_atomic(ud.fullmirror) as tfile: runfetchcmd("tar -czf %s ." % tfile, d, workdir=ud.clonedir) runfetchcmd("touch %s.done" % ud.fullmirror, d) |