"Johannes Schindelin via GitGitGadget" <gitgitgadget@xxxxxxxxx> writes: > + else if (!line.buf[0] || starts_with(line.buf, "index ")) > + /* > + * A completely blank (not ' \n', which is context) > + * line is not valid in a diff. We skip it I noticed this while wondering how somebody could teach range-diff to honor --notes=amlog while preparing the patches to be compared [*1*], but this assumption goes against what POSIX.1 says these days. It is implementation-defined whether an empty unaffected line is written as an empty line or a line containing a single <space> character. cf. http://pubs.opengroup.org/onlinepubs/9699919799/utilities/diff.html#tag_20_34_10_07 We need to insert ", as we disable user's diff.suppressBlankEmpty settings" before ". We skip it" (and if we get affected by the setting, we need to fix it; it is not ultra-urgent, though). [Footnote] *1* ... which I do not have a good answer to, yet. As discussed earlier, the diffopt passed into the show_range_diff() machinery is primarily meant for the final output (i.e. how the matching patches from the two iterations are compared) and not about how the patches to be compared are generated. Worse, --notes=amlog (and possibly other useful options) are parsed by "git log" side of the machinery, not "git diff" side that populates diffopt.