Skip to content

Fix git ls-files parsing across partial stream reads - #168

Merged
David Federman (dfederm) merged 2 commits into
microsoft:mainfrom
Evangelink:dev/amauryleve/fix-git-output-parsing
Aug 6, 2026
Merged

Fix git ls-files parsing across partial stream reads#168
David Federman (dfederm) merged 2 commits into
microsoft:mainfrom
Evangelink:dev/amauryleve/fix-git-output-parsing

Conversation

@Evangelink

@Evangelink Amaury Levé (Evangelink) commented Aug 6, 2026

Copy link
Copy Markdown
Member

Summary

  • bound NUL delimiter searches to the valid portion of each TextReader read
  • reconstruct records exactly when staging metadata, paths, and delimiters span partial reads
  • preserve the existing producer/consumer reader architecture and record-size policy
  • add deterministic chunked-reader tests, including the 4095-character buffer edge

Validation

  • GitFileHashProviderTests: 11/11 passed on net9.0
  • GitFileHashProviderTests: 11/11 passed on net472
  • full Common test suite: 139/139 passed on net9.0

Closes #166

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
There may be pipelines that require an authorized user to comment /azp run to run.

Comment thread src/Common/SourceControl/GitFileHashProvider.cs
Preserve the existing producer-consumer reader while bounding NUL scans to valid data and fixing partial-record carry-over.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@dfederm

Copy link
Copy Markdown
Member

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 1 pipeline(s).

@dfederm
David Federman (dfederm) merged commit 647a056 into microsoft:main Aug 6, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Fix git ls-files parsing across partial stream reads

2 participants