Skip to content

fix: prevent UnicodeDecodeError from non-UTF-8 git paths - #783

Open
sentry[bot] wants to merge 1 commit into
mainfrom
seer/fix/cli-bd-unicode-paths
Open

fix: prevent UnicodeDecodeError from non-UTF-8 git paths#783
sentry[bot] wants to merge 1 commit into
mainfrom
seer/fix/cli-bd-unicode-paths

Conversation

@sentry

@sentry sentry Bot commented Sep 5, 2026

Copy link
Copy Markdown

This PR addresses issue CLI-BD, where the Codecov CLI would crash with a UnicodeDecodeError when encountering git repositories containing filenames with non-UTF-8 byte sequences.

The root cause was identified in codecov_cli/helpers/versioning_systems.py, specifically in the list_relevant_files function. The output of git ls-files was being decoded using a bare .decode() call, which defaults to UTF-8 and raises an error when invalid byte sequences are encountered.

The fix involves adding errors='surrogateescape' to the .decode() call. This error handling strategy allows undecodable bytes to be represented as Unicode surrogate characters, preventing the UnicodeDecodeError and ensuring that the CLI can process repositories with such filenames without crashing, while preserving the original byte information.

Fixes CLI-BD

This PR was automatically generated by Sentry. You can adjust this setting at any time.

@codecov

codecov Bot commented Sep 5, 2026

Copy link
Copy Markdown

❌ 1 Tests Failed:

Tests completed Failed Passed Skipped
723 1 722 1
View the full list of 1 ❄️ flaky test(s)
api.temp.calculator.test_calculator::test_divide

Flake rate in main: 100.00% (Passed 0 times, Failed 1726 times)

Stack Traces | 0.001s run time
def
                test_divide():
                > assert Calculator.divide(1, 2) == 0.5
                E assert 1.0 == 0.5
                E + where 1.0 = <function Calculator.divide at 0x104c9eb90>(1, 2)
                E + where <function Calculator.divide at 0x104c9eb90> = Calculator.divide
                .../temp/calculator/test_calculator.py:30: AssertionError

To view more test analytics, go to the Test Analytics Dashboard
📋 Got 3 mins? Take this short survey to help us improve Test Analytics.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants