Skip to content

Commit 58aaced

Browse files
stefanbellergitster
authored andcommitted
diff: correct newline in summary for renamed files
In 146fdb0 (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 <[email protected]> Helped-by: Jeff King <[email protected]> Signed-off-by: Stefan Beller <[email protected]> Reviewed-by: Jonathan Nieder <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent 61e89ea commit 58aaced

7 files changed

+35
-0
lines changed

diff.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5251,6 +5251,7 @@ static void show_mode_change(struct diff_options *opt, struct diff_filepair *p,
52515251
strbuf_addch(&sb, ' ');
52525252
quote_c_style(p->two->path, &sb, NULL, 0);
52535253
}
5254+
strbuf_addch(&sb, '\n');
52545255
emit_diff_symbol(opt, DIFF_SYMBOL_SUMMARY,
52555256
sb.buf, sb.len, 0);
52565257
strbuf_release(&sb);

t/t4013-diff-various.sh

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,14 @@ test_expect_success setup '
9090
git commit -m "Rearranged lines in dir/sub" &&
9191
git checkout master &&
9292
93+
GIT_AUTHOR_DATE="2006-06-26 00:06:00 +0000" &&
94+
GIT_COMMITTER_DATE="2006-06-26 00:06:00 +0000" &&
95+
export GIT_AUTHOR_DATE GIT_COMMITTER_DATE &&
96+
git checkout -b mode initial &&
97+
git update-index --chmod=+x file0 &&
98+
git commit -m "update mode" &&
99+
git checkout -f master &&
100+
93101
git config diff.renames false &&
94102
95103
git show-branch
@@ -192,6 +200,10 @@ diff-tree --pretty side
192200
diff-tree --pretty -p side
193201
diff-tree --pretty --patch-with-stat side
194202
203+
diff-tree initial mode
204+
diff-tree --stat initial mode
205+
diff-tree --summary initial mode
206+
195207
diff-tree master
196208
diff-tree -p master
197209
diff-tree -p -m master
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
$ git diff-tree --stat initial mode
2+
file0 | 0
3+
1 file changed, 0 insertions(+), 0 deletions(-)
4+
$
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
$ git diff-tree --summary initial mode
2+
mode change 100644 => 100755 file0
3+
$

t/t4013/diff.diff-tree_initial_mode

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
$ git diff-tree initial mode
2+
:100644 100755 01e79c32a8c99c557f0757da7cb6d65b3414466d 01e79c32a8c99c557f0757da7cb6d65b3414466d M file0
3+
$

t/t4013/diff.log_--decorate=full_--all

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,10 @@
11
$ git log --decorate=full --all
2+
commit b7e0bc69303b488b47deca799a7d723971dfa6cd (refs/heads/mode)
3+
Author: A U Thor <[email protected]>
4+
Date: Mon Jun 26 00:06:00 2006 +0000
5+
6+
update mode
7+
28
commit cd4e72fd96faed3f0ba949dc42967430374e2290 (refs/heads/rearrange)
39
Author: A U Thor <[email protected]>
410
Date: Mon Jun 26 00:06:00 2006 +0000

t/t4013/diff.log_--decorate_--all

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,10 @@
11
$ git log --decorate --all
2+
commit b7e0bc69303b488b47deca799a7d723971dfa6cd (mode)
3+
Author: A U Thor <[email protected]>
4+
Date: Mon Jun 26 00:06:00 2006 +0000
5+
6+
update mode
7+
28
commit cd4e72fd96faed3f0ba949dc42967430374e2290 (rearrange)
39
Author: A U Thor <[email protected]>
410
Date: Mon Jun 26 00:06:00 2006 +0000

0 commit comments

Comments
 (0)