On 2022-06-23 at 15:39:07, Danil Pristupov wrote: > Some time ago I reported a bug there, but got no response. I hope it's > OK if I post it again. > > Diff for unmerged files always misses the `\ No newline at end of file` mark. > > I was able to reproduce this with all git versions on all platforms. > > Steps to reproduce (macOS, 2.32.0 (Apple Git-132)): > > ``` > git init > echo "line1\nline2" > eol.txt > echo -n "line1\nline2" > noeol.txt > git add . > git commit -m "initial" > git branch br1 > echo "line11\nline2" > eol.txt > echo -n "line11\nline2" > noeol.txt > git add . > git commit -m "line1" > git checkout br1 > echo "line12\nline2" > eol.txt > echo -n "line12\nline2" > noeol.txt > git add . > git commit -m "line2" > git merge master > git diff -- eol.txt > eol.diff > git diff -- noeol.txt > noeol.diff > ``` Thanks for the report. I think this is indeed a bug, but maybe someone more familiar with things than I am can confirm. From a preliminary examination, it looks like the --cc and regular modes render diffs completely differently, and code similar to what's at the end of emit_rewrite_lines belongs at the end of dump_sline as well. -- brian m. carlson (he/him or they/them) Toronto, Ontario, CA
Attachment:
signature.asc
Description: PGP signature