Fix bug where colons in paths raise a ValueError
on diff()
calls.
#1491
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This commit introduces a potential fix for #1490 and #1483, in which an
invalid literal for int() with base 10: 'n'
exception was raised within a diff operation. Within_handle_diff_line()
, we split the output ofgit diff-tree
on colons (:
characters), under the assumption that there are no colons within the paths of the files being diffed. On POSIX systems this is not a valid assumption. The fix is to split on\x00:
, since a null character always precedes the colons we actually need to split on.A test already existed for this case (
test_diff_file_with_colon()
), but it was marked as skipped.\x00:
instead of:
in_handle_diff_line()
.test_diff_file_with_colon()
.