Skip to content

git: git_show fails on a commit that touches a non-UTF-8 file #4997

Description

@cliffhall

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingserver-gitReference implementation for the Git MCP server - src/gitv2

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions