fix: parse multi-hunk diffs in Gitea provider #2137
+1
−1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
User description
Gitea Problem: pr-agent only scanned from the last @@ hunk to the end of the file, missing earlier hunks in multi-hunk diffs.
PR Type
Bug fix
Description
Fix multi-hunk diff parsing in Gitea provider
Only initialize patch on first @@ hunk marker
Prevents overwriting earlier hunks in diffs
Diagram Walkthrough
flowchart LR A["Parse diff lines"] --> B["Encounter @@ marker"] B --> C{"current_patch empty?"} C -->|Yes| D["Initialize current_patch"] C -->|No| E["Append to current_patch"] D --> F["Collect all hunks"] E --> FFile Walkthrough
gitea_provider.py
Add empty check to hunk initialization logicpr_agent/git_providers/gitea_provider.py
current_patchwhen empty