## Why
Collecting a diff previously launched a Git process for every untracked file at once, allowing process counts to grow with the number of files.
## What changed
Limit untracked-file diffs to eight concurrent operations per collection while preserving patch order and skipping failed file diffs. Concurrent collections each retain their own limit.
## Testing
Add tests for independent concurrency limits, failed-file handling, and patch order and application with tracked changes, binary files, and filenames containing spaces or a leading dash.
GitOrigin-RevId: 896e896eae62ba9b7acf3e8946c235fe725ced40