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