Skip to content

Commit 07b085c

Browse files
authored
Merge pull request #3664 from effigies/fix/commit-linefeed
fix: Smudge non-annexed files, ensuring eol enforcement
2 parents 0fd5843 + 937d9ca commit 07b085c

File tree

1 file changed

+11
-4
lines changed
  • services/datalad/datalad_service/common

1 file changed

+11
-4
lines changed

services/datalad/datalad_service/common/git.py

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,9 @@ async def git_commit(
163163
sentry_sdk.capture_exception(e)
164164
logger.error(f'Failed to read index after git-annex add: {e}')
165165
raise OpenNeuroGitError(f'Failed to read index: {e}') from e
166+
# Ensure non-annexed files are smudged, e.g., update end-of-lines
167+
# but do not "fix" unrelated paths
168+
repo.index.add_all(file_paths)
166169
return await git_commit_index(repo, author, message, parents)
167170

168171

@@ -173,10 +176,14 @@ async def git_commit_index(
173176
committer = pygit2.Signature(COMMITTER_NAME, COMMITTER_EMAIL)
174177
if not author:
175178
author = committer
176-
if parents is None:
177-
parent_commits = [str(repo.head.target)]
178-
else:
179-
parent_commits = parents
179+
180+
parent_commits = [repo.head.target] if parents is None else parents
181+
if len(parent_commits) == 1 and not any(
182+
repo.index.diff_to_tree(repo.get(parent_commits[0]).tree)
183+
):
184+
# No changes to commit
185+
return
186+
180187
tree = repo.index.write_tree()
181188
commit = repo.create_commit(
182189
'refs/heads/main', author, committer, message, tree, parent_commits

0 commit comments

Comments
 (0)