8000 Merge pull request #326 from vokimon/packed-refs-releasing-resources-… · sean797/GitPython@7c96f58 · GitHub
[go: up one dir, main page]

Skip to content

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 7c96f58

Browse files
committed
Merge pull request gitpython-developers#326 from vokimon/packed-refs-releasing-resources-patch-1
Ensure file resources are released
2 parents 11b3a1d + 58c5b99 commit 7c96f58

File tree

1 file changed

+17
-17
lines changed

1 file changed

+17
-17
lines changed

git/refs/symbolic.py

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -88,25 +88,25 @@ def _iter_packed_refs(cls, repo):
8888
"""Returns an iterator yielding pairs of sha1/path pairs (as bytes) for the corresponding refs.
8989
:note: The packed refs file will be kept open as long as we iterate"""
9090
try:
91-
fp = open(cls._get_packed_refs_path(repo), 'rt')
92-
for line in fp:
93-
line = line.strip()
94-
if not line:
95-
continue
96-
if line.startswith('#'):
97-
if line.startswith('# pack-refs with:') and not line.endswith('peeled'):
98-
raise TypeError("PackingType of packed-Refs not understood: %r" % line)
99-
# END abort if we do not understand the packing scheme
100-
continue
101-
# END parse comment
91+
with open(cls._get_packed_refs_path(repo), 'rt') as fp:
92+
for line in fp:
93+
line = line.strip()
94+
if not line:
95+
continue
96+
if line.startswith('#'):
97+
if line.startswith('# pack-refs with:') and not line.endswith('peeled'):
98+
raise TypeError("PackingType of packed-Refs not understood: %r" % line)
99+
# END abort if we do not understand the packing scheme
100+
continue
101+
# END parse comment
102102

103-
# skip dereferenced tag object entries - previous line was actual
104-
# tag reference for it
105-
if line[0] == '^':
106-
continue
103+
# skip dereferenced tag object entries - previous line was actual
104+
# tag reference for it
105+
if line[0] == '^':
106+
continue
107107

108-
yield tuple(line.split(' ', 1))
109-
# END for each line
108+
yield tuple(line.split(' ', 1)) 4DD4
109+
# END for each line
110110
except (OSError, IOError):
111111
raise StopIteration
112112
# END no packed-refs file handling

0 commit comments

Comments
 (0)
0