]> granicus.if.org Git - git/commit
git-p4: auto-delete named temporary file
authorPhilip.McGraw <Philip.McGraw@bentley.com>
Tue, 27 Aug 2019 03:43:58 +0000 (06:43 +0300)
committerJunio C Hamano <gitster@pobox.com>
Sun, 6 Oct 2019 11:43:37 +0000 (20:43 +0900)
commitde5abb5f7a22fbb595fbc6ccb4a75bfad14396d3
tree26b49c6ce70945cba47beb70d5bf476f8e3f9e7d
parentc90b652afd68364640009a52fa6bf6f5fd245186
git-p4: auto-delete named temporary file

Avoid double-open exceptions on Windows platform when
calculating for lfs compressed size threshold
(git-p4.largeFileCompressedThreshold) comparisons.

Take new approach using the NamedTemporaryFile()
file-like object as input to the ZipFile() which
auto-deletes after implicit close leaving with scope.

Original code had double-open exception on Windows
platform because file still open from NamedTemporaryFile()
using generated filename instead of object.

Thanks to Andrey for patiently suggesting several
iterations on this change for avoiding exceptions!

Also print error details after resulting IOError to make
debugging cause of exception less mysterious when it has
nothing to do with "git version recent enough."

Signed-off-by: Philip.McGraw <Philip.McGraw@bentley.com>
Reviewed-by: Andrey Mazo <ahippo@yandex.com>
Acked-by: Luke Diamand <luke@diamand.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-p4.py