summaryrefslogtreecommitdiff
path: root/git/refs/reference.py
diff options
context:
space:
mode:
authorMalcolm Langfield <35980963+langfield@users.noreply.github.com>2022-09-12 19:46:00 -0500
committerMalcolm Langfield <35980963+langfield@users.noreply.github.com>2022-09-12 19:46:00 -0500
commitdb392aeeea6e34c3aaa3a9961941a43053255ff0 (patch)
treef3bbda152d06262a2caeed49ce6797f4d05acc7f /git/refs/reference.py
parentbec61576ae75803bc4e60d8de7a629c194313d1c (diff)
downloadgitpython-db392aeeea6e34c3aaa3a9961941a43053255ff0.tar.gz
Fix bug where colons in paths raise a `ValueError` on `diff()` calls.
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 of `git 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. * Split on `\x00:` instead of `:` in `_handle_diff_line()`. * Unskip `test_diff_file_with_colon()`.
Diffstat (limited to 'git/refs/reference.py')
0 files changed, 0 insertions, 0 deletions