diff options
author | Malcolm Langfield <35980963+langfield@users.noreply.github.com> | 2022-09-12 19:46:00 -0500 |
---|---|---|
committer | Malcolm Langfield <35980963+langfield@users.noreply.github.com> | 2022-09-12 19:46:00 -0500 |
commit | db392aeeea6e34c3aaa3a9961941a43053255ff0 (patch) | |
tree | f3bbda152d06262a2caeed49ce6797f4d05acc7f /git/refs/reference.py | |
parent | bec61576ae75803bc4e60d8de7a629c194313d1c (diff) | |
download | gitpython-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