git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v2 0/1] git-p4: auto-delete named temporary file

From
Philip McGraw via GitGitGadget <gitgitgadget@gmail.com>
Date
Aug 2, 2019, 19:43 UTC
Message-ID
<pull.303.v2.git.gitgitgadget@gmail.com>
In-Reply-To
<pull.303.git.gitgitgadget@gmail.com>

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 produced double-open problems on Windows platform from using already open NamedTemporaryFile() 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
[Philip.McGraw@bentley.com]
Philip.McGraw (1):
  git-p4: auto-delete named temporary file
 git-p4.py | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)
base-commit: 1feeaaf26bff51996f9f96c6dc41ca0f95ab5fc4
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-303%2Fphilip-mcgraw%2Fgit-p4-auto-delete-named-temporary-file-v3-v2
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-303/philip-mcgraw/git-p4-auto-delete-named-temporary-file-v3-v2
Pull-Request: https://github.com/gitgitgadget/git/pull/303
Range-diff vs v1:
 1:  1b270ef9a6 ! 1:  7e59b5cec2 git-p4: auto-delete named temporary file
     @@ -2,13 +2,17 @@
      
          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 produced double-open problems on Windows
     -    platform from using already open NamedTemporaryFile()
     -    generated filename instead of object.
     +    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!
     @@ -18,6 +22,7 @@
          nothing to do with "git version recent enough."
      
          Signed-off-by: Philip.McGraw <Philip.McGraw@bentley.com>
     +    Reviewed-by: Andrey Mazo <ahippo@yandex.com>
      
       diff --git a/git-p4.py b/git-p4.py
       --- a/git-p4.py
-- 
gitgitgadget
Previous: AndreyNext: Andrey Mazo
Message 3 of 12 in “git-p4: auto-delete named temporary file”
  1. 0/1 git-p4: auto-delete named temporary filePhilip McGraw via GitGitGadget, Aug 1, 2019
  2. AndreyAug 2, 2019
  3. 0/1 git-p4: auto-delete named temporary filePhilip McGraw via GitGitGadget, Aug 2, 2019
  4. 1/1 git-p4: auto-delete named temporary fileAndrey Mazo, Aug 27, 2019
  5. Junio C HamanoAug 27, 2019
  6. Luke DiamandAug 28, 2019
  7. 1/1 git-p4: auto-delete named temporary fileGit Gadget, Aug 26, 2019
  8. Junio C HamanoAug 26, 2019
  9. Johannes SchindelinAug 28, 2019
  10. Junio C HamanoAug 29, 2019
  11. Johannes SchindelinAug 29, 2019
  12. Junio C HamanoOct 6, 2019

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.