summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgesslerpd <gesslerpd@users.noreply.github.com>2020-01-20 20:31:13 -0600
committergesslerpd <gesslerpd@users.noreply.github.com>2020-01-20 20:36:09 -0600
commit23f2bf42857b7f292d1166a525914cf06b45ad73 (patch)
tree936d2730ea6783d3e6051cfc2354cbc1c35d41e2
parente57cf4637f4b60c1085a56b08958f51ef7aae469 (diff)
downloadsetuptools-scm-23f2bf42857b7f292d1166a525914cf06b45ad73.tar.gz
Fix #399
-rw-r--r--CHANGELOG.rst5
-rw-r--r--src/setuptools_scm/file_finder_git.py4
2 files changed, 7 insertions, 2 deletions
diff --git a/CHANGELOG.rst b/CHANGELOG.rst
index d8807a0..8a671e2 100644
--- a/CHANGELOG.rst
+++ b/CHANGELOG.rst
@@ -1,3 +1,8 @@
+v3.4.3
+======
+
+* fix #399: ensure the git file finder closes file descriptor after reading archive
+
v3.4.2
======
diff --git a/src/setuptools_scm/file_finder_git.py b/src/setuptools_scm/file_finder_git.py
index 5cda162..191abca 100644
--- a/src/setuptools_scm/file_finder_git.py
+++ b/src/setuptools_scm/file_finder_git.py
@@ -28,7 +28,7 @@ def _git_toplevel(path):
def _git_interpret_archive(fd, toplevel):
- with tarfile.open(fileobj=fd, mode="r|*") as tf:
+ with fd, tarfile.open(fileobj=fd, mode="r|*") as tf:
git_files = set()
git_dirs = {toplevel}
for member in tf.getmembers():
@@ -49,7 +49,7 @@ def _git_ls_files_and_dirs(toplevel):
try:
return _git_interpret_archive(proc.stdout, toplevel)
finally:
- # ensure we avoid ressource warnings by cleaning up the pocess
+ # ensure we avoid resource warnings by cleaning up the pocess
proc.wait()
except Exception:
if proc.wait() != 0: