summaryrefslogtreecommitdiff
path: root/git/repo/base.py
diff options
context:
space:
mode:
authorSebastian Thiel <sebastian.thiel@icloud.com>2023-01-09 09:03:52 +0100
committerGitHub <noreply@github.com>2023-01-09 09:03:52 +0100
commit90c81a56dffe77fc08f863769d35762ca66240b0 (patch)
tree34be1eed222c85f5aa408a9a0f11415600869096 /git/repo/base.py
parent27a283bbc26c7266c0bd8c63f4ac3072d4ffa9bc (diff)
parente50046688f734f65f452de9b8feb10189efd7c1b (diff)
downloadgitpython-90c81a56dffe77fc08f863769d35762ca66240b0.tar.gz
Merge pull request #1532 from marlamb/feature/reduce-resource-leaks
Fix some resource leaks by open file handles
Diffstat (limited to 'git/repo/base.py')
-rw-r--r--git/repo/base.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/git/repo/base.py b/git/repo/base.py
index 4a3704c0..30f71b0c 100644
--- a/git/repo/base.py
+++ b/git/repo/base.py
@@ -9,6 +9,9 @@ import os
import re
import shlex
import warnings
+
+from pathlib import Path
+
from gitdb.db.loose import LooseObjectDB
from gitdb.exc import BadObject
@@ -268,7 +271,7 @@ class Repo(object):
pass
try:
- common_dir = open(osp.join(self.git_dir, "commondir"), "rt").readlines()[0].strip()
+ common_dir = (Path(self.git_dir) / "commondir").read_text().splitlines()[0].strip()
self._common_dir = osp.join(self.git_dir, common_dir)
except OSError:
self._common_dir = ""
@@ -1385,4 +1388,6 @@ class Repo(object):
rebase_head_file = osp.join(self.git_dir, "REBASE_HEAD")
if not osp.isfile(rebase_head_file):
return None
- return self.commit(open(rebase_head_file, "rt").readline().strip())
+ with open(rebase_head_file, "rt") as f:
+ content = f.readline().strip()
+ return self.commit(content)