On 27/09/17 23:51, Stefan Beller wrote: > In 146fdb0dfe (diff.c: emit_diff_symbol learns about DIFF_SYMBOL_SUMMARY, > 2017-06-29), the conversion from direct printing to the symbol emission > dropped the new line character for renamed, copied and rewritten files. > > Add the emission of a newline, add a test for this case. > > Reported-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> > Helped-by: Jeff King <peff@xxxxxxxx> > Signed-off-by: Stefan Beller <sbeller@xxxxxxxxxx> > --- > > Peff, I am undecided about the added 'diff --stat' call as that > uses a completely different code path and would not show the mode > change, but I guess we can just use it to document the current state. > > Thanks, > Stefan > > diff.c | 1 + > t/t4013-diff-various.sh | 12 ++++++++++++ > t/t4013/diff.diff-tree_--stat_initial_mode | 4 ++++ > t/t4013/diff.diff-tree_--summary_initial_mode | 3 +++ > t/t4013/diff.diff-tree_initial_mode | 3 +++ > t/t4013/diff.log_--decorate=full_--all | 6 ++++++ > t/t4013/diff.log_--decorate_--all | 6 ++++++ > 7 files changed, 35 insertions(+) > create mode 100644 t/t4013/diff.diff-tree_--stat_initial_mode > create mode 100644 t/t4013/diff.diff-tree_--summary_initial_mode > create mode 100644 t/t4013/diff.diff-tree_initial_mode > > diff --git a/diff.c b/diff.c > index 3c6a3e0faa..653bb2e72e 100644 > --- a/diff.c > +++ b/diff.c > @@ -5272,6 +5272,7 @@ static void show_mode_change(struct diff_options *opt, struct diff_filepair *p, > strbuf_addch(&sb, ' '); > quote_c_style(p->two->path, &sb, NULL, 0); > } > + strbuf_addch(&sb, '\n'); > emit_diff_symbol(opt, DIFF_SYMBOL_SUMMARY, > sb.buf, sb.len, 0); > strbuf_release(&sb); > diff --git a/t/t4013-diff-various.sh b/t/t4013-diff-various.sh > index d09acfe48e..c515e3e53f 100755 > --- a/t/t4013-diff-various.sh > +++ b/t/t4013-diff-various.sh > @@ -90,6 +90,14 @@ test_expect_success setup ' > git commit -m "Rearranged lines in dir/sub" && > git checkout master && > > + GIT_AUTHOR_DATE="2006-06-26 00:06:00 +0000" && > + GIT_COMMITTER_DATE="2006-06-26 00:06:00 +0000" && > + export GIT_AUTHOR_DATE GIT_COMMITTER_DATE && > + git checkout -b mode initial && > + git update-index --chmod=+x file0 && would 'test_chmod +x file0 &&' work here? ATB, Ramsay Jones