You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 318a008
Browse filesBrowse the repository at this point in the historyBrowse files
fix(config): preserve bytes in subsection names and values
Git accepts configuration subsection names and values containing bytes that
are not valid in the filesystem encoding. Strict decoding made configuration
enumeration, remote names and URLs fail with `UnicodeDecodeError`; byte-valued
writes also decoded strictly before reaching Git.
Use the shared lossless decoder for Git's NUL-framed records and incoming
byte values. Keep existing key validation, mutation framing and Git-managed
locking. File and BytesIO regressions compare against `git config --null`,
exercise remote names/URLs and verify exact bytes after writes.
Four regressions fail before the fix. All 66 configuration tests pass on each
backend with Git 2.54.0 and GixPython 0.3.0. Ruff, mypy and whitespace checks
pass. Windows byte-valued argument writes remain excluded because Windows
command-line arguments cannot preserve arbitrary original bytes.
0 commit comments