Skip to content

Commit 0e11871

Browse files
authored
Merge pull request #3527 from OpenNeuroOrg/pygit2-lf-filter
fix(worker): Prevent reading unfiltered raw files for linefeed fixes
2 parents 1e8c119 + 197c1fd commit 0e11871

File tree

1 file changed

+5
-2
lines changed
  • services/datalad/datalad_service/common

1 file changed

+5
-2
lines changed

services/datalad/datalad_service/common/git.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@ class OpenNeuroGitError(Exception):
2525
def git_show(repo, committish, obj):
2626
"""Equivalent to `git show <committish>:<obj>` on `repo` repository."""
2727
commit, _ = repo.resolve_refish(committish)
28-
data_bytes = (commit.tree / obj).read_raw()
28+
with pygit2.BlobIO(commit.tree / obj) as f:
29+
data_bytes = f.read()
2930
result = from_bytes(data_bytes).best()
3031
return str(result)
3132

@@ -85,7 +86,9 @@ async def git_show_content(repo, committish, filename):
8586
def git_show_object(repo, obj):
8687
git_obj = repo.get(obj)
8788
if git_obj:
88-
return git_obj.read_raw().decode()
89+
# Use the BlobIO reader to get filtered content
90+
with pygit2.BlobIO(git_obj) as f:
91+
return f.read().decode()
8992
else:
9093
raise KeyError('object not found in repository')
9194

0 commit comments

Comments
 (0)