python os.remove() throws exceptions on Windows platform when attempting
to remove file while it is still open. Need to grab filename while file open,
close file handle, then remove by name. Apparently other platforms are more
permissive of removing files while busy.
reference: https://docs.python.org/3/library/os.html#os.remove
---
git-p4.py | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/git-p4.py b/git-p4.py
index c71a6832e2..6b9d2a8317 100755
--- a/git-p4.py
+++ b/git-p4.py
@@ -1161,12 +1161,14 @@ def exceedsLargeFileThreshold(self, relPath, contents):
return False
contentTempFile = self.generateTempFile(contents)
compressedContentFile =
tempfile.NamedTemporaryFile(prefix='git-p4-large-file', delete=False)
+ compressedContentFileName = compressedContentFile.name
zf = zipfile.ZipFile(compressedContentFile.name, mode='w')
zf.write(contentTempFile, compress_type=zipfile.ZIP_DEFLATED)
zf.close()
compressedContentsSize = zf.infolist()[0].compress_size
os.remove(contentTempFile)
- os.remove(compressedContentFile.name)
+ compressedContentFile.close()
+ os.remove(compressedContentFileName)
if compressedContentsSize >
gitConfigInt('git-p4.largeFileCompressedThreshold'):
return True
return False
--
2.21.0.windows.1