{"thread":{"id":"32648","subject":"[PATCH] diff: show file creation/deletion and type change in diffstat","startedAt":"2013-01-16T13:16:12Z","lastAt":"2013-01-16T13:16:12Z","messageCount":1,"participants":["Nguyễn Thái Ngọc Duy"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"207050","messageId":"1358342172-25581-1-git-send-email-pclouds@gmail.com","threadId":"32648","inReplyTo":null,"subject":"[PATCH] diff: show file creation/deletion and type change in diffstat","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2013-01-16T13:16:12Z","receivedAt":"2013-01-16T13:16:12Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"A short string is appended after the path name in diffstat:\n\n- \"(new)\"     for new 0644 files\n- \"(new +x)\"  for new 0755 files\n- \"(new +l)\"  for new symlinks\n- \"(gone)\"    for deleted files\n- \"(mode +x)\" for files gaining executable permission\n- \"(mode -x)\" for files losing executable permission\n\nThis shows most of the information from --summary, but in a more compact\nformat. The only missing information is rewrite percentage. This makes\n--stat a replacement for --summary in most cases. In a diff where a\nlot of files are added/removed, not displaying --summary shortens the\nstat significantly (e.g. a pull)\n\nAnother good point is the information is now all in one line. The user\ndoes not have to match two lines from --stat and --summary of the same\nfile anymore.\n\nThe summary piece is short enough that it will not eat too much into\nthe diffstat estate.\n\nSigned-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n A resurrection of [1] but without colors.\n\n [1] http://thread.gmane.org/gmane.comp.version-control.git/207749\n\n diff.c                                             | 44 ++++++++++++++++++++--\n t/t3404-rebase-interactive.sh                      |  2 +-\n t/t3406-rebase-message.sh                          |  4 +-\n t/t4012-diff-binary.sh                             |  4 +-\n ...diff-tree_--cc_--patch-with-stat_--summary_side |  6 +--\n t/t4013/diff.diff-tree_--cc_--stat_--summary_side  |  6 +--\n ...pretty=oneline_--root_--patch-with-stat_initial |  6 +--\n .../diff.diff-tree_--pretty_--patch-with-stat_side |  6 +--\n ...-tree_--pretty_--root_--patch-with-stat_initial |  6 +--\n ...f-tree_--pretty_--root_--stat_--summary_initial |  6 +--\n .../diff.diff-tree_--pretty_--root_--stat_initial  |  6 +--\n ...diff.diff-tree_--root_--patch-with-stat_initial |  6 +--\n t/t4013/diff.diff-tree_-c_--stat_--summary_side    |  6 +--\n .../diff.diff_--patch-with-stat_-r_initial..side   |  6 +--\n t/t4013/diff.diff_--patch-with-stat_initial..side  |  6 +--\n t/t4013/diff.diff_--stat_initial..side             |  6 +--\n t/t4013/diff.diff_-r_--stat_initial..side          |  6 +--\n ..._--attach_--stdout_--suffix=.diff_initial..side |  6 +--\n ....format-patch_--attach_--stdout_initial..master | 16 ++++----\n ...format-patch_--attach_--stdout_initial..master^ | 10 ++---\n ...ff.format-patch_--attach_--stdout_initial..side |  6 +--\n ...nline_--stdout_--numbered-files_initial..master | 16 ++++----\n ...tdout_--subject-prefix=TESTCASE_initial..master | 16 ++++----\n ....format-patch_--inline_--stdout_initial..master | 16 ++++----\n ...format-patch_--inline_--stdout_initial..master^ | 10 ++---\n ...ormat-patch_--inline_--stdout_initial..master^^ |  6 +--\n ...ff.format-patch_--inline_--stdout_initial..side |  6 +--\n ...tch_--stdout_--cover-letter_-n_initial..master^ | 18 ++++-----\n ...at-patch_--stdout_--no-numbered_initial..master | 16 ++++----\n ...ormat-patch_--stdout_--numbered_initial..master | 16 ++++----\n t/t4013/diff.format-patch_--stdout_initial..master | 16 ++++----\n .../diff.format-patch_--stdout_initial..master^    | 10 ++---\n t/t4013/diff.format-patch_--stdout_initial..side   |  6 +--\n t/t4013/diff.log_--patch-with-stat_master          | 16 ++++----\n ..._--root_--cc_--patch-with-stat_--summary_master | 22 +++++------\n ...f.log_--root_--patch-with-stat_--summary_master | 22 +++++------\n t/t4013/diff.log_--root_--patch-with-stat_master   | 22 +++++------\n ...og_--root_-c_--patch-with-stat_--summary_master | 22 +++++------\n t/t4013/diff.show_--patch-with-stat_--summary_side |  6 +--\n t/t4013/diff.show_--patch-with-stat_side           |  6 +--\n t/t4013/diff.show_--stat_--summary_side            |  6 +--\n t/t4013/diff.show_--stat_side                      |  6 +--\n t/t4013/diff.whatchanged_--patch-with-stat_master  | 16 ++++----\n ..._--root_--cc_--patch-with-stat_--summary_master | 22 +++++------\n ...anged_--root_--patch-with-stat_--summary_master | 22 +++++------\n ...iff.whatchanged_--root_--patch-with-stat_master | 22 +++++------\n ...ed_--root_-c_--patch-with-stat_--summary_master | 22 +++++------\n t/t4045-diff-relative.sh                           |  2 +-\n t/t4049-diff-stat-count.sh                         |  4 +-\n t/t4052-stat-output.sh                             | 18 ++++-----\n t/t4202-log.sh                                     | 28 +++++++-------\n t/t7602-merge-octopus-many.sh                      | 12 +++---\n 52 files changed, 327 insertions(+), 291 deletions(-)\n\ndiff --git a/diff.c b/diff.c\nindex 348f71b..7005628 100644\n--- a/diff.c\n+++ b/diff.c\n@@ -1250,7 +1250,8 @@ static void fn_out_consume(void *priv, char *line, unsigned long len)\n \t}\n }\n \n-static char *pprint_rename(const char *a, const char *b)\n+static char *pprint_rename(const char *a, const char *b,\n+\t\t\t   const char *summary_word)\n {\n \tconst char *old = a;\n \tconst char *new = b;\n@@ -1266,6 +1267,8 @@ static char *pprint_rename(const char *a, const char *b)\n \t\tquote_c_style(a, &name, NULL, 0);\n \t\tstrbuf_addstr(&name, \" => \");\n \t\tquote_c_style(b, &name, NULL, 0);\n+\t\tif (summary_word)\n+\t\t\tstrbuf_addf(&name, \" (%s)\", summary_word);\n \t\treturn strbuf_detach(&name, NULL);\n \t}\n \n@@ -1314,6 +1317,8 @@ static char *pprint_rename(const char *a, const char *b)\n \t\tstrbuf_addch(&name, '}');\n \t\tstrbuf_add(&name, a + len_a - sfx_length, sfx_length);\n \t}\n+\tif (summary_word)\n+\t\tstrbuf_addf(&name, \" (%s)\", summary_word);\n \treturn strbuf_detach(&name, NULL);\n }\n \n@@ -1324,6 +1329,7 @@ struct diffstat_t {\n \t\tchar *from_name;\n \t\tchar *name;\n \t\tchar *print_name;\n+\t\tchar *summary_word;\n \t\tunsigned is_unmerged:1;\n \t\tunsigned is_binary:1;\n \t\tunsigned is_renamed:1;\n@@ -1407,14 +1413,17 @@ static void fill_print_name(struct diffstat_file *file)\n \n \tif (!file->is_renamed) {\n \t\tstruct strbuf buf = STRBUF_INIT;\n-\t\tif (quote_c_style(file->name, &buf, NULL, 0)) {\n+\t\tif (quote_c_style(file->name, &buf, NULL, 0) ||\n+\t\t    file->summary_word) {\n+\t\t\tstrbuf_addf(&buf, \" (%s)\", file->summary_word);\n \t\t\tpname = strbuf_detach(&buf, NULL);\n \t\t} else {\n \t\t\tpname = file->name;\n \t\t\tstrbuf_release(&buf);\n \t\t}\n \t} else {\n-\t\tpname = pprint_rename(file->from_name, file->name);\n+\t\tpname = pprint_rename(file->from_name, file->name,\n+\t\t\t\t      file->summary_word);\n \t}\n \tfile->print_name = pname;\n }\n@@ -2424,6 +2433,32 @@ static void builtin_diff(const char *name_a,\n \treturn;\n }\n \n+static char *get_summary_word(const struct diff_filepair *p, int is_renamed)\n+{\n+\tif (!is_renamed) {\n+\t\tif (p->status == DIFF_STATUS_ADDED) {\n+\t\t\tif (S_ISLNK(p->two->mode))\n+\t\t\t\treturn \"new +l\";\n+\t\t\telse if ((p->two->mode & 0777) == 0755)\n+\t\t\t\treturn \"new +x\";\n+\t\t\telse\n+\t\t\t\treturn \"new\";\n+\t\t} else if (p->status == DIFF_STATUS_DELETED)\n+\t\t\treturn \"gone\";\n+\t}\n+\tif (S_ISLNK(p->one->mode) && !S_ISLNK(p->two->mode))\n+\t\treturn \"mode -l\";\n+\telse if (!S_ISLNK(p->one->mode) && S_ISLNK(p->two->mode))\n+\t\treturn \"mode +l\";\n+\telse if ((p->one->mode & 0777) == 0644 &&\n+\t\t (p->two->mode & 0777) == 0755)\n+\t\treturn \"mode +x\";\n+\telse if ((p->one->mode & 0777) == 0755 &&\n+\t\t (p->two->mode & 0777) == 0644)\n+\t\treturn \"mode -x\";\n+\treturn NULL;\n+}\n+\n static void builtin_diffstat(const char *name_a, const char *name_b,\n \t\t\t     struct diff_filespec *one,\n \t\t\t     struct diff_filespec *two,\n@@ -2443,6 +2478,7 @@ static void builtin_diffstat(const char *name_a, const char *name_b,\n \n \tdata = diffstat_add(diffstat, name_a, name_b);\n \tdata->is_interesting = p->status != DIFF_STATUS_UNKNOWN;\n+\tdata->summary_word = get_summary_word(p, data->is_renamed);\n \n \tif (!one || !two) {\n \t\tdata->is_unmerged = 1;\n@@ -4165,7 +4201,7 @@ static void show_mode_change(FILE *file, struct diff_filepair *p, int show_name,\n static void show_rename_copy(FILE *file, const char *renamecopy, struct diff_filepair *p,\n \t\t\tconst char *line_prefix)\n {\n-\tchar *names = pprint_rename(p->one->path, p->two->path);\n+\tchar *names = pprint_rename(p->one->path, p->two->path, NULL);\n \n \tfprintf(file, \" %s %s (%d%%)\\n\", renamecopy, names, similarity_index(p));\n \tfree(names);\ndiff --git a/t/t3404-rebase-interactive.sh b/t/t3404-rebase-interactive.sh\nindex 8462be1..9124497 100755\n--- a/t/t3404-rebase-interactive.sh\n+++ b/t/t3404-rebase-interactive.sh\n@@ -329,7 +329,7 @@ test_expect_success 'verbose flag is heeded, even after --continue' '\n \techo resolved > file1 &&\n \tgit add file1 &&\n \tgit rebase --continue > output &&\n-\tgrep \"^ file1 | 2 +-$\" output\n+\tgrep \"^ file1 * | 2 +-$\" output\n '\n \n test_expect_success 'multi-squash only fires up editor once' '\ndiff --git a/t/t3406-rebase-message.sh b/t/t3406-rebase-message.sh\nindex e6a9a0d..ff33403 100755\n--- a/t/t3406-rebase-message.sh\n+++ b/t/t3406-rebase-message.sh\n@@ -45,14 +45,14 @@ test_expect_success 'rebase -m' '\n test_expect_success 'rebase --stat' '\n \tgit reset --hard start &&\n         git rebase --stat master >diffstat.txt &&\n-        grep \"^ fileX |  *1 +$\" diffstat.txt\n+        grep \"^ fileX (new) |  *1 +$\" diffstat.txt\n '\n \n test_expect_success 'rebase w/config rebase.stat' '\n \tgit reset --hard start &&\n         git config rebase.stat true &&\n         git rebase master >diffstat.txt &&\n-        grep \"^ fileX |  *1 +$\" diffstat.txt\n+        grep \"^ fileX (new) |  *1 +$\" diffstat.txt\n '\n \n test_expect_success 'rebase -n overrides config rebase.stat config' '\ndiff --git a/t/t4012-diff-binary.sh b/t/t4012-diff-binary.sh\nindex 1215ae5..5aff829 100755\n--- a/t/t4012-diff-binary.sh\n+++ b/t/t4012-diff-binary.sh\n@@ -114,8 +114,8 @@ test_expect_success 'diff --no-index with binary creation' '\n '\n \n cat >expect <<EOF\n- binfile  |   Bin 0 -> 1026 bytes\n- textfile | 10000 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n+ binfile (new)  |   Bin 0 -> 1026 bytes\n+ textfile (new) | 10000 +++++++++++++++++++++++++++++++++++++++++++++++++++++++\n EOF\n \n test_expect_success 'diff --stat with binary files and big change count' '\ndiff --git a/t/t4013/diff.diff-tree_--cc_--patch-with-stat_--summary_side b/t/t4013/diff.diff-tree_--cc_--patch-with-stat_--summary_side\nindex cec33fa..ca5512d 100644\n--- a/t/t4013/diff.diff-tree_--cc_--patch-with-stat_--summary_side\n+++ b/t/t4013/diff.diff-tree_--cc_--patch-with-stat_--summary_side\n@@ -1,8 +1,8 @@\n $ git diff-tree --cc --patch-with-stat --summary side\n c7a2ab9e8eac7b117442a607d5a9b3950ae34d5a\n- dir/sub | 2 ++\n- file0   | 3 +++\n- file3   | 4 ++++\n+ dir/sub     | 2 ++\n+ file0       | 3 +++\n+ file3 (new) | 4 ++++\n  3 files changed, 9 insertions(+)\n  create mode 100644 file3\n \ndiff --git a/t/t4013/diff.diff-tree_--cc_--stat_--summary_side b/t/t4013/diff.diff-tree_--cc_--stat_--summary_side\nindex 12b2eee..1e5efa5 100644\n--- a/t/t4013/diff.diff-tree_--cc_--stat_--summary_side\n+++ b/t/t4013/diff.diff-tree_--cc_--stat_--summary_side\n@@ -1,8 +1,8 @@\n $ git diff-tree --cc --stat --summary side\n c7a2ab9e8eac7b117442a607d5a9b3950ae34d5a\n- dir/sub | 2 ++\n- file0   | 3 +++\n- file3   | 4 ++++\n+ dir/sub     | 2 ++\n+ file0       | 3 +++\n+ file3 (new) | 4 ++++\n  3 files changed, 9 insertions(+)\n  create mode 100644 file3\n $\ndiff --git a/t/t4013/diff.diff-tree_--pretty=oneline_--root_--patch-with-stat_initial b/t/t4013/diff.diff-tree_--pretty=oneline_--root_--patch-with-stat_initial\nindex 817ed06..7131b96 100644\n--- a/t/t4013/diff.diff-tree_--pretty=oneline_--root_--patch-with-stat_initial\n+++ b/t/t4013/diff.diff-tree_--pretty=oneline_--root_--patch-with-stat_initial\n@@ -1,8 +1,8 @@\n $ git diff-tree --pretty=oneline --root --patch-with-stat initial\n 444ac553ac7612cc88969031b02b3767fb8a353a Initial\n- dir/sub | 2 ++\n- file0   | 3 +++\n- file2   | 3 +++\n+ dir/sub (new) | 2 ++\n+ file0 (new)   | 3 +++\n+ file2 (new)   | 3 +++\n  3 files changed, 8 insertions(+)\n \n diff --git a/dir/sub b/dir/sub\ndiff --git a/t/t4013/diff.diff-tree_--pretty_--patch-with-stat_side b/t/t4013/diff.diff-tree_--pretty_--patch-with-stat_side\nindex fe3f6b7..56c14ae 100644\n--- a/t/t4013/diff.diff-tree_--pretty_--patch-with-stat_side\n+++ b/t/t4013/diff.diff-tree_--pretty_--patch-with-stat_side\n@@ -5,9 +5,9 @@ Date:   Mon Jun 26 00:03:00 2006 +0000\n \n     Side\n ---\n- dir/sub | 2 ++\n- file0   | 3 +++\n- file3   | 4 ++++\n+ dir/sub     | 2 ++\n+ file0       | 3 +++\n+ file3 (new) | 4 ++++\n  3 files changed, 9 insertions(+)\n \n diff --git a/dir/sub b/dir/sub\ndiff --git a/t/t4013/diff.diff-tree_--pretty_--root_--patch-with-stat_initial b/t/t4013/diff.diff-tree_--pretty_--root_--patch-with-stat_initial\nindex 06eb77e..db0744e 100644\n--- a/t/t4013/diff.diff-tree_--pretty_--root_--patch-with-stat_initial\n+++ b/t/t4013/diff.diff-tree_--pretty_--root_--patch-with-stat_initial\n@@ -5,9 +5,9 @@ Date:   Mon Jun 26 00:00:00 2006 +0000\n \n     Initial\n ---\n- dir/sub | 2 ++\n- file0   | 3 +++\n- file2   | 3 +++\n+ dir/sub (new) | 2 ++\n+ file0 (new)   | 3 +++\n+ file2 (new)   | 3 +++\n  3 files changed, 8 insertions(+)\n \n diff --git a/dir/sub b/dir/sub\ndiff --git a/t/t4013/diff.diff-tree_--pretty_--root_--stat_--summary_initial b/t/t4013/diff.diff-tree_--pretty_--root_--stat_--summary_initial\nindex 680eab5..1d90882 100644\n--- a/t/t4013/diff.diff-tree_--pretty_--root_--stat_--summary_initial\n+++ b/t/t4013/diff.diff-tree_--pretty_--root_--stat_--summary_initial\n@@ -5,9 +5,9 @@ Date:   Mon Jun 26 00:00:00 2006 +0000\n \n     Initial\n \n- dir/sub | 2 ++\n- file0   | 3 +++\n- file2   | 3 +++\n+ dir/sub (new) | 2 ++\n+ file0 (new)   | 3 +++\n+ file2 (new)   | 3 +++\n  3 files changed, 8 insertions(+)\n  create mode 100644 dir/sub\n  create mode 100644 file0\ndiff --git a/t/t4013/diff.diff-tree_--pretty_--root_--stat_initial b/t/t4013/diff.diff-tree_--pretty_--root_--stat_initial\nindex 9722d1b..98e71a3 100644\n--- a/t/t4013/diff.diff-tree_--pretty_--root_--stat_initial\n+++ b/t/t4013/diff.diff-tree_--pretty_--root_--stat_initial\n@@ -5,8 +5,8 @@ Date:   Mon Jun 26 00:00:00 2006 +0000\n \n     Initial\n \n- dir/sub | 2 ++\n- file0   | 3 +++\n- file2   | 3 +++\n+ dir/sub (new) | 2 ++\n+ file0 (new)   | 3 +++\n+ file2 (new)   | 3 +++\n  3 files changed, 8 insertions(+)\n $\ndiff --git a/t/t4013/diff.diff-tree_--root_--patch-with-stat_initial b/t/t4013/diff.diff-tree_--root_--patch-with-stat_initial\nindex ad69ffe..23470f2 100644\n--- a/t/t4013/diff.diff-tree_--root_--patch-with-stat_initial\n+++ b/t/t4013/diff.diff-tree_--root_--patch-with-stat_initial\n@@ -1,8 +1,8 @@\n $ git diff-tree --root --patch-with-stat initial\n 444ac553ac7612cc88969031b02b3767fb8a353a\n- dir/sub | 2 ++\n- file0   | 3 +++\n- file2   | 3 +++\n+ dir/sub (new) | 2 ++\n+ file0 (new)   | 3 +++\n+ file2 (new)   | 3 +++\n  3 files changed, 8 insertions(+)\n \n diff --git a/dir/sub b/dir/sub\ndiff --git a/t/t4013/diff.diff-tree_-c_--stat_--summary_side b/t/t4013/diff.diff-tree_-c_--stat_--summary_side\nindex e8dc12b..610e74a 100644\n--- a/t/t4013/diff.diff-tree_-c_--stat_--summary_side\n+++ b/t/t4013/diff.diff-tree_-c_--stat_--summary_side\n@@ -1,8 +1,8 @@\n $ git diff-tree -c --stat --summary side\n c7a2ab9e8eac7b117442a607d5a9b3950ae34d5a\n- dir/sub | 2 ++\n- file0   | 3 +++\n- file3   | 4 ++++\n+ dir/sub     | 2 ++\n+ file0       | 3 +++\n+ file3 (new) | 4 ++++\n  3 files changed, 9 insertions(+)\n  create mode 100644 file3\n $\ndiff --git a/t/t4013/diff.diff_--patch-with-stat_-r_initial..side b/t/t4013/diff.diff_--patch-with-stat_-r_initial..side\nindex be8d1ea..ca39dcc 100644\n--- a/t/t4013/diff.diff_--patch-with-stat_-r_initial..side\n+++ b/t/t4013/diff.diff_--patch-with-stat_-r_initial..side\n@@ -1,7 +1,7 @@\n $ git diff --patch-with-stat -r initial..side\n- dir/sub | 2 ++\n- file0   | 3 +++\n- file3   | 4 ++++\n+ dir/sub     | 2 ++\n+ file0       | 3 +++\n+ file3 (new) | 4 ++++\n  3 files changed, 9 insertions(+)\n \n diff --git a/dir/sub b/dir/sub\ndiff --git a/t/t4013/diff.diff_--patch-with-stat_initial..side b/t/t4013/diff.diff_--patch-with-stat_initial..side\nindex 5424e6d..987bd17 100644\n--- a/t/t4013/diff.diff_--patch-with-stat_initial..side\n+++ b/t/t4013/diff.diff_--patch-with-stat_initial..side\n@@ -1,7 +1,7 @@\n $ git diff --patch-with-stat initial..side\n- dir/sub | 2 ++\n- file0   | 3 +++\n- file3   | 4 ++++\n+ dir/sub     | 2 ++\n+ file0       | 3 +++\n+ file3 (new) | 4 ++++\n  3 files changed, 9 insertions(+)\n \n diff --git a/dir/sub b/dir/sub\ndiff --git a/t/t4013/diff.diff_--stat_initial..side b/t/t4013/diff.diff_--stat_initial..side\nindex b7741e2..42d216a 100644\n--- a/t/t4013/diff.diff_--stat_initial..side\n+++ b/t/t4013/diff.diff_--stat_initial..side\n@@ -1,6 +1,6 @@\n $ git diff --stat initial..side\n- dir/sub | 2 ++\n- file0   | 3 +++\n- file3   | 4 ++++\n+ dir/sub     | 2 ++\n+ file0       | 3 +++\n+ file3 (new) | 4 ++++\n  3 files changed, 9 insertions(+)\n $\ndiff --git a/t/t4013/diff.diff_-r_--stat_initial..side b/t/t4013/diff.diff_-r_--stat_initial..side\nindex 5d514f5..ddf55fd 100644\n--- a/t/t4013/diff.diff_-r_--stat_initial..side\n+++ b/t/t4013/diff.diff_-r_--stat_initial..side\n@@ -1,6 +1,6 @@\n $ git diff -r --stat initial..side\n- dir/sub | 2 ++\n- file0   | 3 +++\n- file3   | 4 ++++\n+ dir/sub     | 2 ++\n+ file0       | 3 +++\n+ file3 (new) | 4 ++++\n  3 files changed, 9 insertions(+)\n $\ndiff --git a/t/t4013/diff.format-patch_--attach_--stdout_--suffix=.diff_initial..side b/t/t4013/diff.format-patch_--attach_--stdout_--suffix=.diff_initial..side\nindex 547ca06..459d3e7 100644\n--- a/t/t4013/diff.format-patch_--attach_--stdout_--suffix=.diff_initial..side\n+++ b/t/t4013/diff.format-patch_--attach_--stdout_--suffix=.diff_initial..side\n@@ -12,9 +12,9 @@ Content-Type: text/plain; charset=UTF-8; format=fixed\n Content-Transfer-Encoding: 8bit\n \n ---\n- dir/sub | 2 ++\n- file0   | 3 +++\n- file3   | 4 ++++\n+ dir/sub     | 2 ++\n+ file0       | 3 +++\n+ file3 (new) | 4 ++++\n  3 files changed, 9 insertions(+)\n  create mode 100644 file3\n \ndiff --git a/t/t4013/diff.format-patch_--attach_--stdout_initial..master b/t/t4013/diff.format-patch_--attach_--stdout_initial..master\nindex 52fedc1..080a952 100644\n--- a/t/t4013/diff.format-patch_--attach_--stdout_initial..master\n+++ b/t/t4013/diff.format-patch_--attach_--stdout_initial..master\n@@ -14,9 +14,9 @@ Content-Transfer-Encoding: 8bit\n \n This is the second commit.\n ---\n- dir/sub | 2 ++\n- file0   | 3 +++\n- file2   | 3 ---\n+ dir/sub      | 2 ++\n+ file0        | 3 +++\n+ file2 (gone) | 3 ---\n  3 files changed, 5 insertions(+), 3 deletions(-)\n  delete mode 100644 file2\n \n@@ -73,8 +73,8 @@ Content-Type: text/plain; charset=UTF-8; format=fixed\n Content-Transfer-Encoding: 8bit\n \n ---\n- dir/sub | 2 ++\n- file1   | 3 +++\n+ dir/sub     | 2 ++\n+ file1 (new) | 3 +++\n  2 files changed, 5 insertions(+)\n  create mode 100644 file1\n \n@@ -121,9 +121,9 @@ Content-Type: text/plain; charset=UTF-8; format=fixed\n Content-Transfer-Encoding: 8bit\n \n ---\n- dir/sub | 2 ++\n- file0   | 3 +++\n- file3   | 4 ++++\n+ dir/sub     | 2 ++\n+ file0       | 3 +++\n+ file3 (new) | 4 ++++\n  3 files changed, 9 insertions(+)\n  create mode 100644 file3\n \ndiff --git a/t/t4013/diff.format-patch_--attach_--stdout_initial..master^ b/t/t4013/diff.format-patch_--attach_--stdout_initial..master^\nindex 1c3cde2..b97ed20 100644\n--- a/t/t4013/diff.format-patch_--attach_--stdout_initial..master^\n+++ b/t/t4013/diff.format-patch_--attach_--stdout_initial..master^\n@@ -14,9 +14,9 @@ Content-Transfer-Encoding: 8bit\n \n This is the second commit.\n ---\n- dir/sub | 2 ++\n- file0   | 3 +++\n- file2   | 3 ---\n+ dir/sub      | 2 ++\n+ file0        | 3 +++\n+ file2 (gone) | 3 ---\n  3 files changed, 5 insertions(+), 3 deletions(-)\n  delete mode 100644 file2\n \n@@ -73,8 +73,8 @@ Content-Type: text/plain; charset=UTF-8; format=fixed\n Content-Transfer-Encoding: 8bit\n \n ---\n- dir/sub | 2 ++\n- file1   | 3 +++\n+ dir/sub     | 2 ++\n+ file1 (new) | 3 +++\n  2 files changed, 5 insertions(+)\n  create mode 100644 file1\n \ndiff --git a/t/t4013/diff.format-patch_--attach_--stdout_initial..side b/t/t4013/diff.format-patch_--attach_--stdout_initial..side\nindex 4717bd8..467fafa 100644\n--- a/t/t4013/diff.format-patch_--attach_--stdout_initial..side\n+++ b/t/t4013/diff.format-patch_--attach_--stdout_initial..side\n@@ -12,9 +12,9 @@ Content-Type: text/plain; charset=UTF-8; format=fixed\n Content-Transfer-Encoding: 8bit\n \n ---\n- dir/sub | 2 ++\n- file0   | 3 +++\n- file3   | 4 ++++\n+ dir/sub     | 2 ++\n+ file0       | 3 +++\n+ file3 (new) | 4 ++++\n  3 files changed, 9 insertions(+)\n  create mode 100644 file3\n \ndiff --git a/t/t4013/diff.format-patch_--inline_--stdout_--numbered-files_initial..master b/t/t4013/diff.format-patch_--inline_--stdout_--numbered-files_initial..master\nindex 02c4db7..eae31b0 100644\n--- a/t/t4013/diff.format-patch_--inline_--stdout_--numbered-files_initial..master\n+++ b/t/t4013/diff.format-patch_--inline_--stdout_--numbered-files_initial..master\n@@ -14,9 +14,9 @@ Content-Transfer-Encoding: 8bit\n \n This is the second commit.\n ---\n- dir/sub | 2 ++\n- file0   | 3 +++\n- file2   | 3 ---\n+ dir/sub      | 2 ++\n+ file0        | 3 +++\n+ file2 (gone) | 3 ---\n  3 files changed, 5 insertions(+), 3 deletions(-)\n  delete mode 100644 file2\n \n@@ -73,8 +73,8 @@ Content-Type: text/plain; charset=UTF-8; format=fixed\n Content-Transfer-Encoding: 8bit\n \n ---\n- dir/sub | 2 ++\n- file1   | 3 +++\n+ dir/sub     | 2 ++\n+ file1 (new) | 3 +++\n  2 files changed, 5 insertions(+)\n  create mode 100644 file1\n \n@@ -121,9 +121,9 @@ Content-Type: text/plain; charset=UTF-8; format=fixed\n Content-Transfer-Encoding: 8bit\n \n ---\n- dir/sub | 2 ++\n- file0   | 3 +++\n- file3   | 4 ++++\n+ dir/sub     | 2 ++\n+ file0       | 3 +++\n+ file3 (new) | 4 ++++\n  3 files changed, 9 insertions(+)\n  create mode 100644 file3\n \ndiff --git a/t/t4013/diff.format-patch_--inline_--stdout_--subject-prefix=TESTCASE_initial..master b/t/t4013/diff.format-patch_--inline_--stdout_--subject-prefix=TESTCASE_initial..master\nindex c7677c5..a1c3dfa 100644\n--- a/t/t4013/diff.format-patch_--inline_--stdout_--subject-prefix=TESTCASE_initial..master\n+++ b/t/t4013/diff.format-patch_--inline_--stdout_--subject-prefix=TESTCASE_initial..master\n@@ -14,9 +14,9 @@ Content-Transfer-Encoding: 8bit\n \n This is the second commit.\n ---\n- dir/sub | 2 ++\n- file0   | 3 +++\n- file2   | 3 ---\n+ dir/sub      | 2 ++\n+ file0        | 3 +++\n+ file2 (gone) | 3 ---\n  3 files changed, 5 insertions(+), 3 deletions(-)\n  delete mode 100644 file2\n \n@@ -73,8 +73,8 @@ Content-Type: text/plain; charset=UTF-8; format=fixed\n Content-Transfer-Encoding: 8bit\n \n ---\n- dir/sub | 2 ++\n- file1   | 3 +++\n+ dir/sub     | 2 ++\n+ file1 (new) | 3 +++\n  2 files changed, 5 insertions(+)\n  create mode 100644 file1\n \n@@ -121,9 +121,9 @@ Content-Type: text/plain; charset=UTF-8; format=fixed\n Content-Transfer-Encoding: 8bit\n \n ---\n- dir/sub | 2 ++\n- file0   | 3 +++\n- file3   | 4 ++++\n+ dir/sub     | 2 ++\n+ file0       | 3 +++\n+ file3 (new) | 4 ++++\n  3 files changed, 9 insertions(+)\n  create mode 100644 file3\n \ndiff --git a/t/t4013/diff.format-patch_--inline_--stdout_initial..master b/t/t4013/diff.format-patch_--inline_--stdout_initial..master\nindex 5b3e34e..dab61d6 100644\n--- a/t/t4013/diff.format-patch_--inline_--stdout_initial..master\n+++ b/t/t4013/diff.format-patch_--inline_--stdout_initial..master\n@@ -14,9 +14,9 @@ Content-Transfer-Encoding: 8bit\n \n This is the second commit.\n ---\n- dir/sub | 2 ++\n- file0   | 3 +++\n- file2   | 3 ---\n+ dir/sub      | 2 ++\n+ file0        | 3 +++\n+ file2 (gone) | 3 ---\n  3 files changed, 5 insertions(+), 3 deletions(-)\n  delete mode 100644 file2\n \n@@ -73,8 +73,8 @@ Content-Type: text/plain; charset=UTF-8; format=fixed\n Content-Transfer-Encoding: 8bit\n \n ---\n- dir/sub | 2 ++\n- file1   | 3 +++\n+ dir/sub     | 2 ++\n+ file1 (new) | 3 +++\n  2 files changed, 5 insertions(+)\n  create mode 100644 file1\n \n@@ -121,9 +121,9 @@ Content-Type: text/plain; charset=UTF-8; format=fixed\n Content-Transfer-Encoding: 8bit\n \n ---\n- dir/sub | 2 ++\n- file0   | 3 +++\n- file3   | 4 ++++\n+ dir/sub     | 2 ++\n+ file0       | 3 +++\n+ file3 (new) | 4 ++++\n  3 files changed, 9 insertions(+)\n  create mode 100644 file3\n \ndiff --git a/t/t4013/diff.format-patch_--inline_--stdout_initial..master^ b/t/t4013/diff.format-patch_--inline_--stdout_initial..master^\nindex d13f8a8..f8eca66 100644\n--- a/t/t4013/diff.format-patch_--inline_--stdout_initial..master^\n+++ b/t/t4013/diff.format-patch_--inline_--stdout_initial..master^\n@@ -14,9 +14,9 @@ Content-Transfer-Encoding: 8bit\n \n This is the second commit.\n ---\n- dir/sub | 2 ++\n- file0   | 3 +++\n- file2   | 3 ---\n+ dir/sub      | 2 ++\n+ file0        | 3 +++\n+ file2 (gone) | 3 ---\n  3 files changed, 5 insertions(+), 3 deletions(-)\n  delete mode 100644 file2\n \n@@ -73,8 +73,8 @@ Content-Type: text/plain; charset=UTF-8; format=fixed\n Content-Transfer-Encoding: 8bit\n \n ---\n- dir/sub | 2 ++\n- file1   | 3 +++\n+ dir/sub     | 2 ++\n+ file1 (new) | 3 +++\n  2 files changed, 5 insertions(+)\n  create mode 100644 file1\n \ndiff --git a/t/t4013/diff.format-patch_--inline_--stdout_initial..master^^ b/t/t4013/diff.format-patch_--inline_--stdout_initial..master^^\nindex caec553..5e7c68e 100644\n--- a/t/t4013/diff.format-patch_--inline_--stdout_initial..master^^\n+++ b/t/t4013/diff.format-patch_--inline_--stdout_initial..master^^\n@@ -14,9 +14,9 @@ Content-Transfer-Encoding: 8bit\n \n This is the second commit.\n ---\n- dir/sub | 2 ++\n- file0   | 3 +++\n- file2   | 3 ---\n+ dir/sub      | 2 ++\n+ file0        | 3 +++\n+ file2 (gone) | 3 ---\n  3 files changed, 5 insertions(+), 3 deletions(-)\n  delete mode 100644 file2\n \ndiff --git a/t/t4013/diff.format-patch_--inline_--stdout_initial..side b/t/t4013/diff.format-patch_--inline_--stdout_initial..side\nindex d3a6762..be9f3da 100644\n--- a/t/t4013/diff.format-patch_--inline_--stdout_initial..side\n+++ b/t/t4013/diff.format-patch_--inline_--stdout_initial..side\n@@ -12,9 +12,9 @@ Content-Type: text/plain; charset=UTF-8; format=fixed\n Content-Transfer-Encoding: 8bit\n \n ---\n- dir/sub | 2 ++\n- file0   | 3 +++\n- file3   | 4 ++++\n+ dir/sub     | 2 ++\n+ file0       | 3 +++\n+ file3 (new) | 4 ++++\n  3 files changed, 9 insertions(+)\n  create mode 100644 file3\n \ndiff --git a/t/t4013/diff.format-patch_--stdout_--cover-letter_-n_initial..master^ b/t/t4013/diff.format-patch_--stdout_--cover-letter_-n_initial..master^\nindex 244d964..8abfae6 100644\n--- a/t/t4013/diff.format-patch_--stdout_--cover-letter_-n_initial..master^\n+++ b/t/t4013/diff.format-patch_--stdout_--cover-letter_-n_initial..master^\n@@ -10,10 +10,10 @@ A U Thor (2):\n   Second\n   Third\n \n- dir/sub | 4 ++++\n- file0   | 3 +++\n- file1   | 3 +++\n- file2   | 3 ---\n+ dir/sub      | 4 ++++\n+ file0        | 3 +++\n+ file1 (new)  | 3 +++\n+ file2 (gone) | 3 ---\n  4 files changed, 10 insertions(+), 3 deletions(-)\n  create mode 100644 file1\n  delete mode 100644 file2\n@@ -28,9 +28,9 @@ Subject: [DIFFERENT_PREFIX 1/2] Second\n \n This is the second commit.\n ---\n- dir/sub | 2 ++\n- file0   | 3 +++\n- file2   | 3 ---\n+ dir/sub      | 2 ++\n+ file0        | 3 +++\n+ file2 (gone) | 3 ---\n  3 files changed, 5 insertions(+), 3 deletions(-)\n  delete mode 100644 file2\n \n@@ -73,8 +73,8 @@ Date: Mon, 26 Jun 2006 00:02:00 +0000\n Subject: [DIFFERENT_PREFIX 2/2] Third\n \n ---\n- dir/sub | 2 ++\n- file1   | 3 +++\n+ dir/sub     | 2 ++\n+ file1 (new) | 3 +++\n  2 files changed, 5 insertions(+)\n  create mode 100644 file1\n \ndiff --git a/t/t4013/diff.format-patch_--stdout_--no-numbered_initial..master b/t/t4013/diff.format-patch_--stdout_--no-numbered_initial..master\nindex bfc287a..ac92c50 100644\n--- a/t/t4013/diff.format-patch_--stdout_--no-numbered_initial..master\n+++ b/t/t4013/diff.format-patch_--stdout_--no-numbered_initial..master\n@@ -6,9 +6,9 @@ Subject: [PATCH] Second\n \n This is the second commit.\n ---\n- dir/sub | 2 ++\n- file0   | 3 +++\n- file2   | 3 ---\n+ dir/sub      | 2 ++\n+ file0        | 3 +++\n+ file2 (gone) | 3 ---\n  3 files changed, 5 insertions(+), 3 deletions(-)\n  delete mode 100644 file2\n \n@@ -51,8 +51,8 @@ Date: Mon, 26 Jun 2006 00:02:00 +0000\n Subject: [PATCH] Third\n \n ---\n- dir/sub | 2 ++\n- file1   | 3 +++\n+ dir/sub     | 2 ++\n+ file1 (new) | 3 +++\n  2 files changed, 5 insertions(+)\n  create mode 100644 file1\n \n@@ -85,9 +85,9 @@ Date: Mon, 26 Jun 2006 00:03:00 +0000\n Subject: [PATCH] Side\n \n ---\n- dir/sub | 2 ++\n- file0   | 3 +++\n- file3   | 4 ++++\n+ dir/sub     | 2 ++\n+ file0       | 3 +++\n+ file3 (new) | 4 ++++\n  3 files changed, 9 insertions(+)\n  create mode 100644 file3\n \ndiff --git a/t/t4013/diff.format-patch_--stdout_--numbered_initial..master b/t/t4013/diff.format-patch_--stdout_--numbered_initial..master\nindex 568f6f5..1229ef1 100644\n--- a/t/t4013/diff.format-patch_--stdout_--numbered_initial..master\n+++ b/t/t4013/diff.format-patch_--stdout_--numbered_initial..master\n@@ -6,9 +6,9 @@ Subject: [PATCH 1/3] Second\n \n This is the second commit.\n ---\n- dir/sub | 2 ++\n- file0   | 3 +++\n- file2   | 3 ---\n+ dir/sub      | 2 ++\n+ file0        | 3 +++\n+ file2 (gone) | 3 ---\n  3 files changed, 5 insertions(+), 3 deletions(-)\n  delete mode 100644 file2\n \n@@ -51,8 +51,8 @@ Date: Mon, 26 Jun 2006 00:02:00 +0000\n Subject: [PATCH 2/3] Third\n \n ---\n- dir/sub | 2 ++\n- file1   | 3 +++\n+ dir/sub     | 2 ++\n+ file1 (new) | 3 +++\n  2 files changed, 5 insertions(+)\n  create mode 100644 file1\n \n@@ -85,9 +85,9 @@ Date: Mon, 26 Jun 2006 00:03:00 +0000\n Subject: [PATCH 3/3] Side\n \n ---\n- dir/sub | 2 ++\n- file0   | 3 +++\n- file3   | 4 ++++\n+ dir/sub     | 2 ++\n+ file0       | 3 +++\n+ file3 (new) | 4 ++++\n  3 files changed, 9 insertions(+)\n  create mode 100644 file3\n \ndiff --git a/t/t4013/diff.format-patch_--stdout_initial..master b/t/t4013/diff.format-patch_--stdout_initial..master\nindex 5f0352f..f6b80e9 100644\n--- a/t/t4013/diff.format-patch_--stdout_initial..master\n+++ b/t/t4013/diff.format-patch_--stdout_initial..master\n@@ -6,9 +6,9 @@ Subject: [PATCH 1/3] Second\n \n This is the second commit.\n ---\n- dir/sub | 2 ++\n- file0   | 3 +++\n- file2   | 3 ---\n+ dir/sub      | 2 ++\n+ file0        | 3 +++\n+ file2 (gone) | 3 ---\n  3 files changed, 5 insertions(+), 3 deletions(-)\n  delete mode 100644 file2\n \n@@ -51,8 +51,8 @@ Date: Mon, 26 Jun 2006 00:02:00 +0000\n Subject: [PATCH 2/3] Third\n \n ---\n- dir/sub | 2 ++\n- file1   | 3 +++\n+ dir/sub     | 2 ++\n+ file1 (new) | 3 +++\n  2 files changed, 5 insertions(+)\n  create mode 100644 file1\n \n@@ -85,9 +85,9 @@ Date: Mon, 26 Jun 2006 00:03:00 +0000\n Subject: [PATCH 3/3] Side\n \n ---\n- dir/sub | 2 ++\n- file0   | 3 +++\n- file3   | 4 ++++\n+ dir/sub     | 2 ++\n+ file0       | 3 +++\n+ file3 (new) | 4 ++++\n  3 files changed, 9 insertions(+)\n  create mode 100644 file3\n \ndiff --git a/t/t4013/diff.format-patch_--stdout_initial..master^ b/t/t4013/diff.format-patch_--stdout_initial..master^\nindex 2ae454d..6995728 100644\n--- a/t/t4013/diff.format-patch_--stdout_initial..master^\n+++ b/t/t4013/diff.format-patch_--stdout_initial..master^\n@@ -6,9 +6,9 @@ Subject: [PATCH 1/2] Second\n \n This is the second commit.\n ---\n- dir/sub | 2 ++\n- file0   | 3 +++\n- file2   | 3 ---\n+ dir/sub      | 2 ++\n+ file0        | 3 +++\n+ file2 (gone) | 3 ---\n  3 files changed, 5 insertions(+), 3 deletions(-)\n  delete mode 100644 file2\n \n@@ -51,8 +51,8 @@ Date: Mon, 26 Jun 2006 00:02:00 +0000\n Subject: [PATCH 2/2] Third\n \n ---\n- dir/sub | 2 ++\n- file1   | 3 +++\n+ dir/sub     | 2 ++\n+ file1 (new) | 3 +++\n  2 files changed, 5 insertions(+)\n  create mode 100644 file1\n \ndiff --git a/t/t4013/diff.format-patch_--stdout_initial..side b/t/t4013/diff.format-patch_--stdout_initial..side\nindex a7d52fb..d8d9a1d 100644\n--- a/t/t4013/diff.format-patch_--stdout_initial..side\n+++ b/t/t4013/diff.format-patch_--stdout_initial..side\n@@ -5,9 +5,9 @@ Date: Mon, 26 Jun 2006 00:03:00 +0000\n Subject: [PATCH] Side\n \n ---\n- dir/sub | 2 ++\n- file0   | 3 +++\n- file3   | 4 ++++\n+ dir/sub     | 2 ++\n+ file0       | 3 +++\n+ file3 (new) | 4 ++++\n  3 files changed, 9 insertions(+)\n  create mode 100644 file3\n \ndiff --git a/t/t4013/diff.log_--patch-with-stat_master b/t/t4013/diff.log_--patch-with-stat_master\nindex ae425c4..fd768ff 100644\n--- a/t/t4013/diff.log_--patch-with-stat_master\n+++ b/t/t4013/diff.log_--patch-with-stat_master\n@@ -12,9 +12,9 @@ Date:   Mon Jun 26 00:03:00 2006 +0000\n \n     Side\n ---\n- dir/sub | 2 ++\n- file0   | 3 +++\n- file3   | 4 ++++\n+ dir/sub     | 2 ++\n+ file0       | 3 +++\n+ file3 (new) | 4 ++++\n  3 files changed, 9 insertions(+)\n \n diff --git a/dir/sub b/dir/sub\n@@ -54,8 +54,8 @@ Date:   Mon Jun 26 00:02:00 2006 +0000\n \n     Third\n ---\n- dir/sub | 2 ++\n- file1   | 3 +++\n+ dir/sub     | 2 ++\n+ file1 (new) | 3 +++\n  2 files changed, 5 insertions(+)\n \n diff --git a/dir/sub b/dir/sub\n@@ -86,9 +86,9 @@ Date:   Mon Jun 26 00:01:00 2006 +0000\n     \n     This is the second commit.\n ---\n- dir/sub | 2 ++\n- file0   | 3 +++\n- file2   | 3 ---\n+ dir/sub      | 2 ++\n+ file0        | 3 +++\n+ file2 (gone) | 3 ---\n  3 files changed, 5 insertions(+), 3 deletions(-)\n \n diff --git a/dir/sub b/dir/sub\ndiff --git a/t/t4013/diff.log_--root_--cc_--patch-with-stat_--summary_master b/t/t4013/diff.log_--root_--cc_--patch-with-stat_--summary_master\nindex 0fc1e8c..372f0b3 100644\n--- a/t/t4013/diff.log_--root_--cc_--patch-with-stat_--summary_master\n+++ b/t/t4013/diff.log_--root_--cc_--patch-with-stat_--summary_master\n@@ -44,9 +44,9 @@ Date:   Mon Jun 26 00:03:00 2006 +0000\n \n     Side\n ---\n- dir/sub | 2 ++\n- file0   | 3 +++\n- file3   | 4 ++++\n+ dir/sub     | 2 ++\n+ file0       | 3 +++\n+ file3 (new) | 4 ++++\n  3 files changed, 9 insertions(+)\n  create mode 100644 file3\n \n@@ -87,8 +87,8 @@ Date:   Mon Jun 26 00:02:00 2006 +0000\n \n     Third\n ---\n- dir/sub | 2 ++\n- file1   | 3 +++\n+ dir/sub     | 2 ++\n+ file1 (new) | 3 +++\n  2 files changed, 5 insertions(+)\n  create mode 100644 file1\n \n@@ -120,9 +120,9 @@ Date:   Mon Jun 26 00:01:00 2006 +0000\n     \n     This is the second commit.\n ---\n- dir/sub | 2 ++\n- file0   | 3 +++\n- file2   | 3 ---\n+ dir/sub      | 2 ++\n+ file0        | 3 +++\n+ file2 (gone) | 3 ---\n  3 files changed, 5 insertions(+), 3 deletions(-)\n  delete mode 100644 file2\n \n@@ -162,9 +162,9 @@ Date:   Mon Jun 26 00:00:00 2006 +0000\n \n     Initial\n ---\n- dir/sub | 2 ++\n- file0   | 3 +++\n- file2   | 3 +++\n+ dir/sub (new) | 2 ++\n+ file0 (new)   | 3 +++\n+ file2 (new)   | 3 +++\n  3 files changed, 8 insertions(+)\n  create mode 100644 dir/sub\n  create mode 100644 file0\ndiff --git a/t/t4013/diff.log_--root_--patch-with-stat_--summary_master b/t/t4013/diff.log_--root_--patch-with-stat_--summary_master\nindex dffc09d..2c705a8 100644\n--- a/t/t4013/diff.log_--root_--patch-with-stat_--summary_master\n+++ b/t/t4013/diff.log_--root_--patch-with-stat_--summary_master\n@@ -12,9 +12,9 @@ Date:   Mon Jun 26 00:03:00 2006 +0000\n \n     Side\n ---\n- dir/sub | 2 ++\n- file0   | 3 +++\n- file3   | 4 ++++\n+ dir/sub     | 2 ++\n+ file0       | 3 +++\n+ file3 (new) | 4 ++++\n  3 files changed, 9 insertions(+)\n  create mode 100644 file3\n \n@@ -55,8 +55,8 @@ Date:   Mon Jun 26 00:02:00 2006 +0000\n \n     Third\n ---\n- dir/sub | 2 ++\n- file1   | 3 +++\n+ dir/sub     | 2 ++\n+ file1 (new) | 3 +++\n  2 files changed, 5 insertions(+)\n  create mode 100644 file1\n \n@@ -88,9 +88,9 @@ Date:   Mon Jun 26 00:01:00 2006 +0000\n     \n     This is the second commit.\n ---\n- dir/sub | 2 ++\n- file0   | 3 +++\n- file2   | 3 ---\n+ dir/sub      | 2 ++\n+ file0        | 3 +++\n+ file2 (gone) | 3 ---\n  3 files changed, 5 insertions(+), 3 deletions(-)\n  delete mode 100644 file2\n \n@@ -130,9 +130,9 @@ Date:   Mon Jun 26 00:00:00 2006 +0000\n \n     Initial\n ---\n- dir/sub | 2 ++\n- file0   | 3 +++\n- file2   | 3 +++\n+ dir/sub (new) | 2 ++\n+ file0 (new)   | 3 +++\n+ file2 (new)   | 3 +++\n  3 files changed, 8 insertions(+)\n  create mode 100644 dir/sub\n  create mode 100644 file0\ndiff --git a/t/t4013/diff.log_--root_--patch-with-stat_master b/t/t4013/diff.log_--root_--patch-with-stat_master\nindex 55aa980..a51f794 100644\n--- a/t/t4013/diff.log_--root_--patch-with-stat_master\n+++ b/t/t4013/diff.log_--root_--patch-with-stat_master\n@@ -12,9 +12,9 @@ Date:   Mon Jun 26 00:03:00 2006 +0000\n \n     Side\n ---\n- dir/sub | 2 ++\n- file0   | 3 +++\n- file3   | 4 ++++\n+ dir/sub     | 2 ++\n+ file0       | 3 +++\n+ file3 (new) | 4 ++++\n  3 files changed, 9 insertions(+)\n \n diff --git a/dir/sub b/dir/sub\n@@ -54,8 +54,8 @@ Date:   Mon Jun 26 00:02:00 2006 +0000\n \n     Third\n ---\n- dir/sub | 2 ++\n- file1   | 3 +++\n+ dir/sub     | 2 ++\n+ file1 (new) | 3 +++\n  2 files changed, 5 insertions(+)\n \n diff --git a/dir/sub b/dir/sub\n@@ -86,9 +86,9 @@ Date:   Mon Jun 26 00:01:00 2006 +0000\n     \n     This is the second commit.\n ---\n- dir/sub | 2 ++\n- file0   | 3 +++\n- file2   | 3 ---\n+ dir/sub      | 2 ++\n+ file0        | 3 +++\n+ file2 (gone) | 3 ---\n  3 files changed, 5 insertions(+), 3 deletions(-)\n \n diff --git a/dir/sub b/dir/sub\n@@ -127,9 +127,9 @@ Date:   Mon Jun 26 00:00:00 2006 +0000\n \n     Initial\n ---\n- dir/sub | 2 ++\n- file0   | 3 +++\n- file2   | 3 +++\n+ dir/sub (new) | 2 ++\n+ file0 (new)   | 3 +++\n+ file2 (new)   | 3 +++\n  3 files changed, 8 insertions(+)\n \n diff --git a/dir/sub b/dir/sub\ndiff --git a/t/t4013/diff.log_--root_-c_--patch-with-stat_--summary_master b/t/t4013/diff.log_--root_-c_--patch-with-stat_--summary_master\nindex 019d85f..2588563 100644\n--- a/t/t4013/diff.log_--root_-c_--patch-with-stat_--summary_master\n+++ b/t/t4013/diff.log_--root_-c_--patch-with-stat_--summary_master\n@@ -44,9 +44,9 @@ Date:   Mon Jun 26 00:03:00 2006 +0000\n \n     Side\n ---\n- dir/sub | 2 ++\n- file0   | 3 +++\n- file3   | 4 ++++\n+ dir/sub     | 2 ++\n+ file0       | 3 +++\n+ file3 (new) | 4 ++++\n  3 files changed, 9 insertions(+)\n  create mode 100644 file3\n \n@@ -87,8 +87,8 @@ Date:   Mon Jun 26 00:02:00 2006 +0000\n \n     Third\n ---\n- dir/sub | 2 ++\n- file1   | 3 +++\n+ dir/sub     | 2 ++\n+ file1 (new) | 3 +++\n  2 files changed, 5 insertions(+)\n  create mode 100644 file1\n \n@@ -120,9 +120,9 @@ Date:   Mon Jun 26 00:01:00 2006 +0000\n     \n     This is the second commit.\n ---\n- dir/sub | 2 ++\n- file0   | 3 +++\n- file2   | 3 ---\n+ dir/sub      | 2 ++\n+ file0        | 3 +++\n+ file2 (gone) | 3 ---\n  3 files changed, 5 insertions(+), 3 deletions(-)\n  delete mode 100644 file2\n \n@@ -162,9 +162,9 @@ Date:   Mon Jun 26 00:00:00 2006 +0000\n \n     Initial\n ---\n- dir/sub | 2 ++\n- file0   | 3 +++\n- file2   | 3 +++\n+ dir/sub (new) | 2 ++\n+ file0 (new)   | 3 +++\n+ file2 (new)   | 3 +++\n  3 files changed, 8 insertions(+)\n  create mode 100644 dir/sub\n  create mode 100644 file0\ndiff --git a/t/t4013/diff.show_--patch-with-stat_--summary_side b/t/t4013/diff.show_--patch-with-stat_--summary_side\nindex 95a474e..4c83862 100644\n--- a/t/t4013/diff.show_--patch-with-stat_--summary_side\n+++ b/t/t4013/diff.show_--patch-with-stat_--summary_side\n@@ -5,9 +5,9 @@ Date:   Mon Jun 26 00:03:00 2006 +0000\n \n     Side\n ---\n- dir/sub | 2 ++\n- file0   | 3 +++\n- file3   | 4 ++++\n+ dir/sub     | 2 ++\n+ file0       | 3 +++\n+ file3 (new) | 4 ++++\n  3 files changed, 9 insertions(+)\n  create mode 100644 file3\n \ndiff --git a/t/t4013/diff.show_--patch-with-stat_side b/t/t4013/diff.show_--patch-with-stat_side\nindex 974e99b..d021de9 100644\n--- a/t/t4013/diff.show_--patch-with-stat_side\n+++ b/t/t4013/diff.show_--patch-with-stat_side\n@@ -5,9 +5,9 @@ Date:   Mon Jun 26 00:03:00 2006 +0000\n \n     Side\n ---\n- dir/sub | 2 ++\n- file0   | 3 +++\n- file3   | 4 ++++\n+ dir/sub     | 2 ++\n+ file0       | 3 +++\n+ file3 (new) | 4 ++++\n  3 files changed, 9 insertions(+)\n \n diff --git a/dir/sub b/dir/sub\ndiff --git a/t/t4013/diff.show_--stat_--summary_side b/t/t4013/diff.show_--stat_--summary_side\nindex a71492f..8978cfa 100644\n--- a/t/t4013/diff.show_--stat_--summary_side\n+++ b/t/t4013/diff.show_--stat_--summary_side\n@@ -5,9 +5,9 @@ Date:   Mon Jun 26 00:03:00 2006 +0000\n \n     Side\n \n- dir/sub | 2 ++\n- file0   | 3 +++\n- file3   | 4 ++++\n+ dir/sub     | 2 ++\n+ file0       | 3 +++\n+ file3 (new) | 4 ++++\n  3 files changed, 9 insertions(+)\n  create mode 100644 file3\n $\ndiff --git a/t/t4013/diff.show_--stat_side b/t/t4013/diff.show_--stat_side\nindex 9be7124..60c2bb1 100644\n--- a/t/t4013/diff.show_--stat_side\n+++ b/t/t4013/diff.show_--stat_side\n@@ -5,8 +5,8 @@ Date:   Mon Jun 26 00:03:00 2006 +0000\n \n     Side\n \n- dir/sub | 2 ++\n- file0   | 3 +++\n- file3   | 4 ++++\n+ dir/sub     | 2 ++\n+ file0       | 3 +++\n+ file3 (new) | 4 ++++\n  3 files changed, 9 insertions(+)\n $\ndiff --git a/t/t4013/diff.whatchanged_--patch-with-stat_master b/t/t4013/diff.whatchanged_--patch-with-stat_master\nindex 1ac431b..298f1d9 100644\n--- a/t/t4013/diff.whatchanged_--patch-with-stat_master\n+++ b/t/t4013/diff.whatchanged_--patch-with-stat_master\n@@ -5,9 +5,9 @@ Date:   Mon Jun 26 00:03:00 2006 +0000\n \n     Side\n ---\n- dir/sub | 2 ++\n- file0   | 3 +++\n- file3   | 4 ++++\n+ dir/sub     | 2 ++\n+ file0       | 3 +++\n+ file3 (new) | 4 ++++\n  3 files changed, 9 insertions(+)\n \n diff --git a/dir/sub b/dir/sub\n@@ -47,8 +47,8 @@ Date:   Mon Jun 26 00:02:00 2006 +0000\n \n     Third\n ---\n- dir/sub | 2 ++\n- file1   | 3 +++\n+ dir/sub     | 2 ++\n+ file1 (new) | 3 +++\n  2 files changed, 5 insertions(+)\n \n diff --git a/dir/sub b/dir/sub\n@@ -79,9 +79,9 @@ Date:   Mon Jun 26 00:01:00 2006 +0000\n     \n     This is the second commit.\n ---\n- dir/sub | 2 ++\n- file0   | 3 +++\n- file2   | 3 ---\n+ dir/sub      | 2 ++\n+ file0        | 3 +++\n+ file2 (gone) | 3 ---\n  3 files changed, 5 insertions(+), 3 deletions(-)\n \n diff --git a/dir/sub b/dir/sub\ndiff --git a/t/t4013/diff.whatchanged_--root_--cc_--patch-with-stat_--summary_master b/t/t4013/diff.whatchanged_--root_--cc_--patch-with-stat_--summary_master\nindex 30aae78..70f4da6 100644\n--- a/t/t4013/diff.whatchanged_--root_--cc_--patch-with-stat_--summary_master\n+++ b/t/t4013/diff.whatchanged_--root_--cc_--patch-with-stat_--summary_master\n@@ -44,9 +44,9 @@ Date:   Mon Jun 26 00:03:00 2006 +0000\n \n     Side\n ---\n- dir/sub | 2 ++\n- file0   | 3 +++\n- file3   | 4 ++++\n+ dir/sub     | 2 ++\n+ file0       | 3 +++\n+ file3 (new) | 4 ++++\n  3 files changed, 9 insertions(+)\n  create mode 100644 file3\n \n@@ -87,8 +87,8 @@ Date:   Mon Jun 26 00:02:00 2006 +0000\n \n     Third\n ---\n- dir/sub | 2 ++\n- file1   | 3 +++\n+ dir/sub     | 2 ++\n+ file1 (new) | 3 +++\n  2 files changed, 5 insertions(+)\n  create mode 100644 file1\n \n@@ -120,9 +120,9 @@ Date:   Mon Jun 26 00:01:00 2006 +0000\n     \n     This is the second commit.\n ---\n- dir/sub | 2 ++\n- file0   | 3 +++\n- file2   | 3 ---\n+ dir/sub      | 2 ++\n+ file0        | 3 +++\n+ file2 (gone) | 3 ---\n  3 files changed, 5 insertions(+), 3 deletions(-)\n  delete mode 100644 file2\n \n@@ -162,9 +162,9 @@ Date:   Mon Jun 26 00:00:00 2006 +0000\n \n     Initial\n ---\n- dir/sub | 2 ++\n- file0   | 3 +++\n- file2   | 3 +++\n+ dir/sub (new) | 2 ++\n+ file0 (new)   | 3 +++\n+ file2 (new)   | 3 +++\n  3 files changed, 8 insertions(+)\n  create mode 100644 dir/sub\n  create mode 100644 file0\ndiff --git a/t/t4013/diff.whatchanged_--root_--patch-with-stat_--summary_master b/t/t4013/diff.whatchanged_--root_--patch-with-stat_--summary_master\nindex db90e51..6065050 100644\n--- a/t/t4013/diff.whatchanged_--root_--patch-with-stat_--summary_master\n+++ b/t/t4013/diff.whatchanged_--root_--patch-with-stat_--summary_master\n@@ -5,9 +5,9 @@ Date:   Mon Jun 26 00:03:00 2006 +0000\n \n     Side\n ---\n- dir/sub | 2 ++\n- file0   | 3 +++\n- file3   | 4 ++++\n+ dir/sub     | 2 ++\n+ file0       | 3 +++\n+ file3 (new) | 4 ++++\n  3 files changed, 9 insertions(+)\n  create mode 100644 file3\n \n@@ -48,8 +48,8 @@ Date:   Mon Jun 26 00:02:00 2006 +0000\n \n     Third\n ---\n- dir/sub | 2 ++\n- file1   | 3 +++\n+ dir/sub     | 2 ++\n+ file1 (new) | 3 +++\n  2 files changed, 5 insertions(+)\n  create mode 100644 file1\n \n@@ -81,9 +81,9 @@ Date:   Mon Jun 26 00:01:00 2006 +0000\n     \n     This is the second commit.\n ---\n- dir/sub | 2 ++\n- file0   | 3 +++\n- file2   | 3 ---\n+ dir/sub      | 2 ++\n+ file0        | 3 +++\n+ file2 (gone) | 3 ---\n  3 files changed, 5 insertions(+), 3 deletions(-)\n  delete mode 100644 file2\n \n@@ -123,9 +123,9 @@ Date:   Mon Jun 26 00:00:00 2006 +0000\n \n     Initial\n ---\n- dir/sub | 2 ++\n- file0   | 3 +++\n- file2   | 3 +++\n+ dir/sub (new) | 2 ++\n+ file0 (new)   | 3 +++\n+ file2 (new)   | 3 +++\n  3 files changed, 8 insertions(+)\n  create mode 100644 dir/sub\n  create mode 100644 file0\ndiff --git a/t/t4013/diff.whatchanged_--root_--patch-with-stat_master b/t/t4013/diff.whatchanged_--root_--patch-with-stat_master\nindex 9a6cc92..de03ba3 100644\n--- a/t/t4013/diff.whatchanged_--root_--patch-with-stat_master\n+++ b/t/t4013/diff.whatchanged_--root_--patch-with-stat_master\n@@ -5,9 +5,9 @@ Date:   Mon Jun 26 00:03:00 2006 +0000\n \n     Side\n ---\n- dir/sub | 2 ++\n- file0   | 3 +++\n- file3   | 4 ++++\n+ dir/sub     | 2 ++\n+ file0       | 3 +++\n+ file3 (new) | 4 ++++\n  3 files changed, 9 insertions(+)\n \n diff --git a/dir/sub b/dir/sub\n@@ -47,8 +47,8 @@ Date:   Mon Jun 26 00:02:00 2006 +0000\n \n     Third\n ---\n- dir/sub | 2 ++\n- file1   | 3 +++\n+ dir/sub     | 2 ++\n+ file1 (new) | 3 +++\n  2 files changed, 5 insertions(+)\n \n diff --git a/dir/sub b/dir/sub\n@@ -79,9 +79,9 @@ Date:   Mon Jun 26 00:01:00 2006 +0000\n     \n     This is the second commit.\n ---\n- dir/sub | 2 ++\n- file0   | 3 +++\n- file2   | 3 ---\n+ dir/sub      | 2 ++\n+ file0        | 3 +++\n+ file2 (gone) | 3 ---\n  3 files changed, 5 insertions(+), 3 deletions(-)\n \n diff --git a/dir/sub b/dir/sub\n@@ -120,9 +120,9 @@ Date:   Mon Jun 26 00:00:00 2006 +0000\n \n     Initial\n ---\n- dir/sub | 2 ++\n- file0   | 3 +++\n- file2   | 3 +++\n+ dir/sub (new) | 2 ++\n+ file0 (new)   | 3 +++\n+ file2 (new)   | 3 +++\n  3 files changed, 8 insertions(+)\n \n diff --git a/dir/sub b/dir/sub\ndiff --git a/t/t4013/diff.whatchanged_--root_-c_--patch-with-stat_--summary_master b/t/t4013/diff.whatchanged_--root_-c_--patch-with-stat_--summary_master\nindex d1d32bd..772cfca 100644\n--- a/t/t4013/diff.whatchanged_--root_-c_--patch-with-stat_--summary_master\n+++ b/t/t4013/diff.whatchanged_--root_-c_--patch-with-stat_--summary_master\n@@ -44,9 +44,9 @@ Date:   Mon Jun 26 00:03:00 2006 +0000\n \n     Side\n ---\n- dir/sub | 2 ++\n- file0   | 3 +++\n- file3   | 4 ++++\n+ dir/sub     | 2 ++\n+ file0       | 3 +++\n+ file3 (new) | 4 ++++\n  3 files changed, 9 insertions(+)\n  create mode 100644 file3\n \n@@ -87,8 +87,8 @@ Date:   Mon Jun 26 00:02:00 2006 +0000\n \n     Third\n ---\n- dir/sub | 2 ++\n- file1   | 3 +++\n+ dir/sub     | 2 ++\n+ file1 (new) | 3 +++\n  2 files changed, 5 insertions(+)\n  create mode 100644 file1\n \n@@ -120,9 +120,9 @@ Date:   Mon Jun 26 00:01:00 2006 +0000\n     \n     This is the second commit.\n ---\n- dir/sub | 2 ++\n- file0   | 3 +++\n- file2   | 3 ---\n+ dir/sub      | 2 ++\n+ file0        | 3 +++\n+ file2 (gone) | 3 ---\n  3 files changed, 5 insertions(+), 3 deletions(-)\n  delete mode 100644 file2\n \n@@ -162,9 +162,9 @@ Date:   Mon Jun 26 00:00:00 2006 +0000\n \n     Initial\n ---\n- dir/sub | 2 ++\n- file0   | 3 +++\n- file2   | 3 +++\n+ dir/sub (new) | 2 ++\n+ file0 (new)   | 3 +++\n+ file2 (new)   | 3 +++\n  3 files changed, 8 insertions(+)\n  create mode 100644 dir/sub\n  create mode 100644 file0\ndiff --git a/t/t4045-diff-relative.sh b/t/t4045-diff-relative.sh\nindex 3950f50..e0f274d 100755\n--- a/t/t4045-diff-relative.sh\n+++ b/t/t4045-diff-relative.sh\n@@ -44,7 +44,7 @@ test_expect_success \"--numstat $*\" \"\n check_stat() {\n expect=$1; shift\n cat >expected <<EOF\n- $expect | 1 +\n+ $expect (new) | 1 +\n  1 file changed, 1 insertion(+)\n EOF\n test_expect_success \"--stat $*\" \"\ndiff --git a/t/t4049-diff-stat-count.sh b/t/t4049-diff-stat-count.sh\nindex 5b594e8..55bd81e 100755\n--- a/t/t4049-diff-stat-count.sh\n+++ b/t/t4049-diff-stat-count.sh\n@@ -19,8 +19,8 @@ test_expect_success 'mode-only change show as a 0-line change' '\n \techo a >a &&\n \techo c >c &&\n \tcat >expect <<-\\EOF\n-\t a | 1 +\n-\t b | 0\n+\t a           | 1 +\n+\t b (mode +x) | 0\n \t ...\n \t 4 files changed, 2 insertions(+)\n \tEOF\ndiff --git a/t/t4052-stat-output.sh b/t/t4052-stat-output.sh\nindex b68afef..b0a5340 100755\n--- a/t/t4052-stat-output.sh\n+++ b/t/t4052-stat-output.sh\n@@ -223,10 +223,10 @@ test_expect_success 'preparation for long filename tests' '\n '\n \n cat >expect <<'EOF'\n- ...aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa | 1000 ++++++++++++\n+ ...aaaaaaaaaaaaaaaaaaaaaaaaaaaaa (new) | 1000 ++++++++++++\n EOF\n cat >expect-graph <<'EOF'\n-|  ...aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa | 1000 ++++++++++++\n+|  ...aaaaaaaaaaaaaaaaaaaaaaaaaaaaa (new) | 1000 ++++++++++++\n EOF\n while read cmd args\n do\n@@ -251,16 +251,16 @@ log -1 --stat\n EOF\n \n cat >expect80 <<'EOF'\n- ...aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa | 1000 ++++++++++++++++++++\n+ ...aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa (new) | 1000 ++++++++++++++++++++\n EOF\n cat >expect80-graph <<'EOF'\n-|  ...aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa | 1000 ++++++++++++++++++++\n+|  ...aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa (new) | 1000 ++++++++++++++++++++\n EOF\n cat >expect200 <<'EOF'\n- aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa | 1000 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa (new) | 1000 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n EOF\n cat >expect200-graph <<'EOF'\n-|  aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa | 1000 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n+|  aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa (new) | 1000 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n EOF\n while read verb expect cmd args\n do\n@@ -285,10 +285,10 @@ respects expect200 log -1 --stat\n EOF\n \n cat >expect1 <<'EOF'\n- ...aaaaaaa | 1000 ++++++\n+ ...a (new) | 1000 ++++++\n EOF\n cat >expect1-graph <<'EOF'\n-|  ...aaaaaaa | 1000 ++++++\n+|  ...a (new) | 1000 ++++++\n EOF\n while read verb expect cmd args\n do\n@@ -325,7 +325,7 @@ test_expect_success 'merge --stat respects COLUMNS (big change)' '\n '\n \n cat >expect <<'EOF'\n- aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa | 1000 +++++++++++++++++++++++++++++++++++++++\n+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa (new) | 1000 +++++++++++++++++++++++++++++++++\n EOF\n test_expect_success 'merge --stat respects COLUMNS (long filename)' '\n \tCOLUMNS=100 git merge --stat --no-ff master >output &&\ndiff --git a/t/t4202-log.sh b/t/t4202-log.sh\nindex fa686b8..26d2057 100755\n--- a/t/t4202-log.sh\n+++ b/t/t4202-log.sh\n@@ -554,7 +554,7 @@ cat >expect <<\\EOF\n | |\n | |     reach\n | | ---\n-| |  reach.t | 1 +\n+| |  reach.t (new) | 1 +\n | |  1 file changed, 1 insertion(+)\n | |\n | | diff --git a/reach.t b/reach.t\n@@ -577,7 +577,7 @@ cat >expect <<\\EOF\n | | |\n | | |       octopus-b\n | | |   ---\n-| | |    octopus-b.t | 1 +\n+| | |    octopus-b.t (new) | 1 +\n | | |    1 file changed, 1 insertion(+)\n | | |\n | | |   diff --git a/octopus-b.t b/octopus-b.t\n@@ -593,7 +593,7 @@ cat >expect <<\\EOF\n | |\n | |       octopus-a\n | |   ---\n-| |    octopus-a.t | 1 +\n+| |    octopus-a.t (new) | 1 +\n | |    1 file changed, 1 insertion(+)\n | |\n | |   diff --git a/octopus-a.t b/octopus-a.t\n@@ -609,7 +609,7 @@ cat >expect <<\\EOF\n |\n |       seventh\n |   ---\n-|    seventh.t | 1 +\n+|    seventh.t (new) | 1 +\n |    1 file changed, 1 insertion(+)\n |\n |   diff --git a/seventh.t b/seventh.t\n@@ -643,7 +643,7 @@ cat >expect <<\\EOF\n | | | |\n | | | |     tangle-a\n | | | | ---\n-| | | |  tangle-a | 1 +\n+| | | |  tangle-a (new) | 1 +\n | | | |  1 file changed, 1 insertion(+)\n | | | |\n | | | | diff --git a/tangle-a b/tangle-a\n@@ -665,7 +665,7 @@ cat >expect <<\\EOF\n | |/| |\n | | | |       side-2\n | | | |   ---\n-| | | |    2 | 1 +\n+| | | |    2 (new) | 1 +\n | | | |    1 file changed, 1 insertion(+)\n | | | |\n | | | |   diff --git a/2 b/2\n@@ -681,7 +681,7 @@ cat >expect <<\\EOF\n | | | |\n | | | |     side-1\n | | | | ---\n-| | | |  1 | 1 +\n+| | | |  1 (new) | 1 +\n | | | |  1 file changed, 1 insertion(+)\n | | | |\n | | | | diff --git a/1 b/1\n@@ -697,7 +697,7 @@ cat >expect <<\\EOF\n | | | |\n | | | |     Second\n | | | | ---\n-| | | |  one | 1 +\n+| | | |  one (new) | 1 +\n | | | |  1 file changed, 1 insertion(+)\n | | | |\n | | | | diff --git a/one b/one\n@@ -713,7 +713,7 @@ cat >expect <<\\EOF\n |/| |\n | | |       sixth\n | | |   ---\n-| | |    a/two | 1 -\n+| | |    a/two (gone) | 1 -\n | | |    1 file changed, 1 deletion(-)\n | | |\n | | |   diff --git a/a/two b/a/two\n@@ -729,7 +729,7 @@ cat >expect <<\\EOF\n | | |\n | | |     fifth\n | | | ---\n-| | |  a/two | 1 +\n+| | |  a/two (new) | 1 +\n | | |  1 file changed, 1 insertion(+)\n | | |\n | | | diff --git a/a/two b/a/two\n@@ -745,7 +745,7 @@ cat >expect <<\\EOF\n | |\n | |       fourth\n | |   ---\n-| |    ein | 1 +\n+| |    ein (new) | 1 +\n | |    1 file changed, 1 insertion(+)\n | |\n | |   diff --git a/ein b/ein\n@@ -761,8 +761,8 @@ cat >expect <<\\EOF\n |\n |       third\n |   ---\n-|    ichi | 1 +\n-|    one  | 1 -\n+|    ichi (new) | 1 +\n+|    one (gone) | 1 -\n |    2 files changed, 1 insertion(+), 1 deletion(-)\n |\n |   diff --git a/ichi b/ichi\n@@ -801,7 +801,7 @@ cat >expect <<\\EOF\n \n       initial\n   ---\n-   one | 1 +\n+   one (new) | 1 +\n    1 file changed, 1 insertion(+)\n \n   diff --git a/one b/one\ndiff --git a/t/t7602-merge-octopus-many.sh b/t/t7602-merge-octopus-many.sh\nindex 955f09f..d383b50 100755\n--- a/t/t7602-merge-octopus-many.sh\n+++ b/t/t7602-merge-octopus-many.sh\n@@ -54,9 +54,9 @@ Trying simple merge with c2\n Trying simple merge with c3\n Trying simple merge with c4\n Merge made by the 'octopus' strategy.\n- c2.c | 1 +\n- c3.c | 1 +\n- c4.c | 1 +\n+ c2.c (new) | 1 +\n+ c3.c (new) | 1 +\n+ c4.c (new) | 1 +\n  3 files changed, 3 insertions(+)\n  create mode 100644 c2.c\n  create mode 100644 c3.c\n@@ -71,7 +71,7 @@ test_expect_success 'merge output uses pretty names' '\n \n cat >expected <<\\EOF\n Merge made by the 'recursive' strategy.\n- c5.c | 1 +\n+ c5.c (new) | 1 +\n  1 file changed, 1 insertion(+)\n  create mode 100644 c5.c\n EOF\n@@ -85,8 +85,8 @@ cat >expected <<\\EOF\n Fast-forwarding to: c1\n Trying simple merge with c2\n Merge made by the 'octopus' strategy.\n- c1.c | 1 +\n- c2.c | 1 +\n+ c1.c (new) | 1 +\n+ c2.c (new) | 1 +\n  2 files changed, 2 insertions(+)\n  create mode 100644 c1.c\n  create mode 100644 c2.c\n-- \n1.8.0.rc2.23.g1fb49df\n"}]}