Problem
git_show decodes each patch as strict UTF-8, so a commit that changes a Latin-1 (or other non-UTF-8) file fails the whole call with a decode error.
Where it is pinned
src/git/tests/test_protocol.py: test_git_show_non_utf8_patch_is_decode_error, added in #4974 (Wave 1 of #4857). Each of these tests carries a KNOWN BUG marker: it asserts the current, wrong behavior, so the fix has to change it.
Expected
Non-UTF-8 content is decoded with replacement (or shown as binary), and the rest of the commit is shown.
Done when
- The behavior above is fixed, in the legacy-era (2025-11-25) server on SDK 1.x.
- The pinning tests assert the correct behavior, and their
KNOWN BUG markers are gone.
- The per-file 90% coverage gate still passes.
Problem
git_showdecodes each patch as strict UTF-8, so a commit that changes a Latin-1 (or other non-UTF-8) file fails the whole call with a decode error.Where it is pinned
src/git/tests/test_protocol.py:test_git_show_non_utf8_patch_is_decode_error, added in #4974 (Wave 1 of #4857). Each of these tests carries aKNOWN BUGmarker: it asserts the current, wrong behavior, so the fix has to change it.Expected
Non-UTF-8 content is decoded with replacement (or shown as binary), and the rest of the commit is shown.
Done when
KNOWN BUGmarkers are gone.