Hi, I ran into the same issue with a simple diff (attached) on 4.0.3.
if parsed_file.modified_file_details is not None and parsed_file.modified_file_details.endswith(b'(nonexistent)'):
also works for me as a workaround.
This error occurs on linenum=4 started with "@@", just after the first parse of diff header.
The line is not distinguished as "is_diff_header" by the DiffParser class and modified_file_details remains None. However SVNDiffParser tries to invoke modified_file_details.endswith() and results in an AttributeError exception.