Git fork

diff --stat: use less columns for change counts

Number of columns required for change counts is now computed based on
the maximum number of changed lines instead of being fixed. This means
that usually a few more columns will be available for the filenames
and the graph.

The graph width logic is also modified to include enough space for
"Bin XXX -> YYY bytes".

If changes to binary files are mixed with changes to text files,
change counts are padded to take at least three columns. And the other
way around, if change counts require more than three columns, then
"Bin"s are padded to align with the change count. This way, the +-
part starts in the same column as "XXX -> YYY" part for binary files.
This makes the graph easier to parse visually thanks to the empty
column. This mimics the layout of diff --stat before this change.

Tests and the tutorial are updated to reflect the new --stat output.
This means either the removal of extra padding and/or the addition of
up to three extra characters to truncated filenames. One test is added
to check the graph alignment when a binary file change and text file
change of more than 999 lines are committed together.

Signed-off-by: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

authored by

Zbigniew Jędrzejewski-Szmek and committed by
Junio C Hamano
dc801e71 10d4332e

+400 -353
+2 -2
Documentation/gitcore-tutorial.txt
··· 1002 1002 ---------------- 1003 1003 Updating from ae3a2da... to a80b4aa.... 1004 1004 Fast-forward (no commit created; -m option ignored) 1005 - example | 1 + 1006 - hello | 1 + 1005 + example | 1 + 1006 + hello | 1 + 1007 1007 2 files changed, 2 insertions(+) 1008 1008 ---------------- 1009 1009
+38 -10
diff.c
··· 1443 1443 { 1444 1444 int i, len, add, del, adds = 0, dels = 0; 1445 1445 uintmax_t max_change = 0, max_len = 0; 1446 - int total_files = data->nr; 1447 - int width, name_width, graph_width, number_width = 4, count; 1446 + int total_files = data->nr, count; 1447 + int width, name_width, graph_width, number_width = 0, bin_width = 0; 1448 1448 const char *reset, *add_c, *del_c; 1449 1449 const char *line_prefix = ""; 1450 1450 int extra_shown = 0; ··· 1480 1480 if (max_len < len) 1481 1481 max_len = len; 1482 1482 1483 - if (file->is_binary || file->is_unmerged) 1483 + if (file->is_unmerged) { 1484 + /* "Unmerged" is 8 characters */ 1485 + bin_width = bin_width < 8 ? 8 : bin_width; 1484 1486 continue; 1487 + } 1488 + if (file->is_binary) { 1489 + /* "Bin XXX -> YYY bytes" */ 1490 + int w = 14 + decimal_width(file->added) 1491 + + decimal_width(file->deleted); 1492 + bin_width = bin_width < w ? w : bin_width; 1493 + /* Display change counts aligned with "Bin" */ 1494 + number_width = 3; 1495 + continue; 1496 + } 1497 + 1485 1498 if (max_change < change) 1486 1499 max_change = change; 1487 1500 } ··· 1506 1519 * stat_name_width fixes the maximum width of the filename, 1507 1520 * and is also used to divide available columns if there 1508 1521 * aren't enough. 1522 + * 1523 + * Binary files are displayed with "Bin XXX -> YYY bytes" 1524 + * instead of the change count and graph. This part is treated 1525 + * similarly to the graph part, except that it is not 1526 + * "scaled". If total width is too small to accomodate the 1527 + * guaranteed minimum width of the filename part and the 1528 + * separators and this message, this message will "overflow" 1529 + * making the line longer than the maximum width. 1509 1530 */ 1510 1531 1511 1532 if (options->stat_width == -1) 1512 1533 width = term_columns(); 1513 1534 else 1514 1535 width = options->stat_width ? options->stat_width : 80; 1536 + number_width = decimal_width(max_change) > number_width ? 1537 + decimal_width(max_change) : number_width; 1515 1538 1516 1539 if (options->stat_graph_width == -1) 1517 1540 options->stat_graph_width = diff_stat_graph_width; ··· 1525 1548 1526 1549 /* 1527 1550 * First assign sizes that are wanted, ignoring available width. 1551 + * strlen("Bin XXX -> YYY bytes") == bin_width, and the part 1552 + * starting from "XXX" should fit in graph_width. 1528 1553 */ 1529 - graph_width = (options->stat_graph_width && 1530 - options->stat_graph_width < max_change) ? 1531 - options->stat_graph_width : max_change; 1554 + graph_width = max_change + 4 > bin_width ? max_change : bin_width - 4; 1555 + if (options->stat_graph_width && 1556 + options->stat_graph_width < graph_width) 1557 + graph_width = options->stat_graph_width; 1558 + 1532 1559 name_width = (options->stat_name_width > 0 && 1533 1560 options->stat_name_width < max_len) ? 1534 1561 options->stat_name_width : max_len; ··· 1583 1610 if (data->files[i]->is_binary) { 1584 1611 fprintf(options->file, "%s", line_prefix); 1585 1612 show_name(options->file, prefix, name, len); 1586 - fprintf(options->file, " Bin "); 1613 + fprintf(options->file, " %*s ", number_width, "Bin"); 1587 1614 fprintf(options->file, "%s%"PRIuMAX"%s", 1588 1615 del_c, deleted, reset); 1589 1616 fprintf(options->file, " -> "); ··· 1596 1623 else if (data->files[i]->is_unmerged) { 1597 1624 fprintf(options->file, "%s", line_prefix); 1598 1625 show_name(options->file, prefix, name, len); 1599 - fprintf(options->file, " Unmerged\n"); 1626 + fprintf(options->file, " Unmerged\n"); 1600 1627 continue; 1601 1628 } 1602 1629 ··· 1625 1652 } 1626 1653 fprintf(options->file, "%s", line_prefix); 1627 1654 show_name(options->file, prefix, name, len); 1628 - fprintf(options->file, "%5"PRIuMAX"%s", added + deleted, 1629 - added + deleted ? " " : ""); 1655 + fprintf(options->file, " %*"PRIuMAX"%s", 1656 + number_width, added + deleted, 1657 + added + deleted ? " " : ""); 1630 1658 show_graph(options->file, '+', add, add_c, reset); 1631 1659 show_graph(options->file, '-', del, del_c, reset); 1632 1660 fprintf(options->file, "\n");
+1 -1
t/t0023-crlf-am.sh
··· 11 11 Subject: test1 12 12 13 13 --- 14 - foo | 1 + 14 + foo | 1 + 15 15 1 files changed, 1 insertions(+), 0 deletions(-) 16 16 create mode 100644 foo 17 17
+2 -2
t/t1200-tutorial.sh
··· 154 154 cat > resolve.expect << EOF 155 155 Updating VARIABLE..VARIABLE 156 156 FASTFORWARD (no commit created; -m option ignored) 157 - example | 1 + 158 - hello | 1 + 157 + example | 1 + 158 + hello | 1 + 159 159 2 files changed, 2 insertions(+) 160 160 EOF 161 161
+1 -1
t/t3404-rebase-interactive.sh
··· 323 323 echo resolved > file1 && 324 324 git add file1 && 325 325 git rebase --continue > output && 326 - grep "^ file1 | 2 +-$" output 326 + grep "^ file1 | 2 +-$" output 327 327 ' 328 328 329 329 test_expect_success 'multi-squash only fires up editor once' '
+1 -1
t/t3903-stash.sh
··· 443 443 STASH_ID=$(git stash create) && 444 444 git reset --hard && 445 445 cat >expected <<-EOF && 446 - file | 1 + 446 + file | 1 + 447 447 1 file changed, 1 insertion(+) 448 448 EOF 449 449 git stash show ${STASH_ID} >actual &&
+19
t/t4012-diff-binary.sh
··· 107 107 test_cmp expected actual 108 108 ' 109 109 110 + cat >expect <<EOF 111 + binfile | Bin 0 -> 1026 bytes 112 + textfile | 10000 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 113 + EOF 114 + 115 + test_expect_success 'diff --stat with binary files and big change count' ' 116 + echo X | dd of=binfile bs=1k seek=1 && 117 + git add binfile && 118 + i=0 && 119 + while test $i -lt 10000; do 120 + echo $i && 121 + i=$(($i + 1)) 122 + done >textfile && 123 + git add textfile && 124 + git diff --cached --stat binfile textfile >output && 125 + grep " | " output >actual && 126 + test_cmp expect actual 127 + ' 128 + 110 129 test_done
+2 -2
t/t4013/diff.diff-tree_--cc_--patch-with-stat_--summary_master
··· 1 1 $ git diff-tree --cc --patch-with-stat --summary master 2 2 59d314ad6f356dd08601a4cd5e530381da3e3c64 3 - dir/sub | 2 ++ 4 - file0 | 3 +++ 3 + dir/sub | 2 ++ 4 + file0 | 3 +++ 5 5 2 files changed, 5 insertions(+) 6 6 7 7 diff --cc dir/sub
+3 -3
t/t4013/diff.diff-tree_--cc_--patch-with-stat_--summary_side
··· 1 1 $ git diff-tree --cc --patch-with-stat --summary side 2 2 c7a2ab9e8eac7b117442a607d5a9b3950ae34d5a 3 - dir/sub | 2 ++ 4 - file0 | 3 +++ 5 - file3 | 4 ++++ 3 + dir/sub | 2 ++ 4 + file0 | 3 +++ 5 + file3 | 4 ++++ 6 6 3 files changed, 9 insertions(+) 7 7 create mode 100644 file3 8 8
+2 -2
t/t4013/diff.diff-tree_--cc_--patch-with-stat_master
··· 1 1 $ git diff-tree --cc --patch-with-stat master 2 2 59d314ad6f356dd08601a4cd5e530381da3e3c64 3 - dir/sub | 2 ++ 4 - file0 | 3 +++ 3 + dir/sub | 2 ++ 4 + file0 | 3 +++ 5 5 2 files changed, 5 insertions(+) 6 6 7 7 diff --cc dir/sub
+2 -2
t/t4013/diff.diff-tree_--cc_--stat_--summary_master
··· 1 1 $ git diff-tree --cc --stat --summary master 2 2 59d314ad6f356dd08601a4cd5e530381da3e3c64 3 - dir/sub | 2 ++ 4 - file0 | 3 +++ 3 + dir/sub | 2 ++ 4 + file0 | 3 +++ 5 5 2 files changed, 5 insertions(+) 6 6 $
+3 -3
t/t4013/diff.diff-tree_--cc_--stat_--summary_side
··· 1 1 $ git diff-tree --cc --stat --summary side 2 2 c7a2ab9e8eac7b117442a607d5a9b3950ae34d5a 3 - dir/sub | 2 ++ 4 - file0 | 3 +++ 5 - file3 | 4 ++++ 3 + dir/sub | 2 ++ 4 + file0 | 3 +++ 5 + file3 | 4 ++++ 6 6 3 files changed, 9 insertions(+) 7 7 create mode 100644 file3 8 8 $
+2 -2
t/t4013/diff.diff-tree_--cc_--stat_master
··· 1 1 $ git diff-tree --cc --stat master 2 2 59d314ad6f356dd08601a4cd5e530381da3e3c64 3 - dir/sub | 2 ++ 4 - file0 | 3 +++ 3 + dir/sub | 2 ++ 4 + file0 | 3 +++ 5 5 2 files changed, 5 insertions(+) 6 6 $
+3 -3
t/t4013/diff.diff-tree_--pretty=oneline_--root_--patch-with-stat_initial
··· 1 1 $ git diff-tree --pretty=oneline --root --patch-with-stat initial 2 2 444ac553ac7612cc88969031b02b3767fb8a353a Initial 3 - dir/sub | 2 ++ 4 - file0 | 3 +++ 5 - file2 | 3 +++ 3 + dir/sub | 2 ++ 4 + file0 | 3 +++ 5 + file2 | 3 +++ 6 6 3 files changed, 8 insertions(+) 7 7 8 8 diff --git a/dir/sub b/dir/sub
+3 -3
t/t4013/diff.diff-tree_--pretty_--patch-with-stat_side
··· 5 5 6 6 Side 7 7 --- 8 - dir/sub | 2 ++ 9 - file0 | 3 +++ 10 - file3 | 4 ++++ 8 + dir/sub | 2 ++ 9 + file0 | 3 +++ 10 + file3 | 4 ++++ 11 11 3 files changed, 9 insertions(+) 12 12 13 13 diff --git a/dir/sub b/dir/sub
+3 -3
t/t4013/diff.diff-tree_--pretty_--root_--patch-with-stat_initial
··· 5 5 6 6 Initial 7 7 --- 8 - dir/sub | 2 ++ 9 - file0 | 3 +++ 10 - file2 | 3 +++ 8 + dir/sub | 2 ++ 9 + file0 | 3 +++ 10 + file2 | 3 +++ 11 11 3 files changed, 8 insertions(+) 12 12 13 13 diff --git a/dir/sub b/dir/sub
+3 -3
t/t4013/diff.diff-tree_--pretty_--root_--stat_--summary_initial
··· 5 5 6 6 Initial 7 7 8 - dir/sub | 2 ++ 9 - file0 | 3 +++ 10 - file2 | 3 +++ 8 + dir/sub | 2 ++ 9 + file0 | 3 +++ 10 + file2 | 3 +++ 11 11 3 files changed, 8 insertions(+) 12 12 create mode 100644 dir/sub 13 13 create mode 100644 file0
+3 -3
t/t4013/diff.diff-tree_--pretty_--root_--stat_initial
··· 5 5 6 6 Initial 7 7 8 - dir/sub | 2 ++ 9 - file0 | 3 +++ 10 - file2 | 3 +++ 8 + dir/sub | 2 ++ 9 + file0 | 3 +++ 10 + file2 | 3 +++ 11 11 3 files changed, 8 insertions(+) 12 12 $
+3 -3
t/t4013/diff.diff-tree_--root_--patch-with-stat_initial
··· 1 1 $ git diff-tree --root --patch-with-stat initial 2 2 444ac553ac7612cc88969031b02b3767fb8a353a 3 - dir/sub | 2 ++ 4 - file0 | 3 +++ 5 - file2 | 3 +++ 3 + dir/sub | 2 ++ 4 + file0 | 3 +++ 5 + file2 | 3 +++ 6 6 3 files changed, 8 insertions(+) 7 7 8 8 diff --git a/dir/sub b/dir/sub
+2 -2
t/t4013/diff.diff-tree_-c_--stat_--summary_master
··· 1 1 $ git diff-tree -c --stat --summary master 2 2 59d314ad6f356dd08601a4cd5e530381da3e3c64 3 - dir/sub | 2 ++ 4 - file0 | 3 +++ 3 + dir/sub | 2 ++ 4 + file0 | 3 +++ 5 5 2 files changed, 5 insertions(+) 6 6 $
+3 -3
t/t4013/diff.diff-tree_-c_--stat_--summary_side
··· 1 1 $ git diff-tree -c --stat --summary side 2 2 c7a2ab9e8eac7b117442a607d5a9b3950ae34d5a 3 - dir/sub | 2 ++ 4 - file0 | 3 +++ 5 - file3 | 4 ++++ 3 + dir/sub | 2 ++ 4 + file0 | 3 +++ 5 + file3 | 4 ++++ 6 6 3 files changed, 9 insertions(+) 7 7 create mode 100644 file3 8 8 $
+2 -2
t/t4013/diff.diff-tree_-c_--stat_master
··· 1 1 $ git diff-tree -c --stat master 2 2 59d314ad6f356dd08601a4cd5e530381da3e3c64 3 - dir/sub | 2 ++ 4 - file0 | 3 +++ 3 + dir/sub | 2 ++ 4 + file0 | 3 +++ 5 5 2 files changed, 5 insertions(+) 6 6 $
+3 -3
t/t4013/diff.diff_--patch-with-stat_-r_initial..side
··· 1 1 $ git diff --patch-with-stat -r initial..side 2 - dir/sub | 2 ++ 3 - file0 | 3 +++ 4 - file3 | 4 ++++ 2 + dir/sub | 2 ++ 3 + file0 | 3 +++ 4 + file3 | 4 ++++ 5 5 3 files changed, 9 insertions(+) 6 6 7 7 diff --git a/dir/sub b/dir/sub
+3 -3
t/t4013/diff.diff_--patch-with-stat_initial..side
··· 1 1 $ git diff --patch-with-stat initial..side 2 - dir/sub | 2 ++ 3 - file0 | 3 +++ 4 - file3 | 4 ++++ 2 + dir/sub | 2 ++ 3 + file0 | 3 +++ 4 + file3 | 4 ++++ 5 5 3 files changed, 9 insertions(+) 6 6 7 7 diff --git a/dir/sub b/dir/sub
+3 -3
t/t4013/diff.diff_--stat_initial..side
··· 1 1 $ git diff --stat initial..side 2 - dir/sub | 2 ++ 3 - file0 | 3 +++ 4 - file3 | 4 ++++ 2 + dir/sub | 2 ++ 3 + file0 | 3 +++ 4 + file3 | 4 ++++ 5 5 3 files changed, 9 insertions(+) 6 6 $
+3 -3
t/t4013/diff.diff_-r_--stat_initial..side
··· 1 1 $ git diff -r --stat initial..side 2 - dir/sub | 2 ++ 3 - file0 | 3 +++ 4 - file3 | 4 ++++ 2 + dir/sub | 2 ++ 3 + file0 | 3 +++ 4 + file3 | 4 ++++ 5 5 3 files changed, 9 insertions(+) 6 6 $
+3 -3
t/t4013/diff.format-patch_--attach_--stdout_--suffix=.diff_initial..side
··· 12 12 Content-Transfer-Encoding: 8bit 13 13 14 14 --- 15 - dir/sub | 2 ++ 16 - file0 | 3 +++ 17 - file3 | 4 ++++ 15 + dir/sub | 2 ++ 16 + file0 | 3 +++ 17 + file3 | 4 ++++ 18 18 3 files changed, 9 insertions(+) 19 19 create mode 100644 file3 20 20
+8 -8
t/t4013/diff.format-patch_--attach_--stdout_initial..master
··· 14 14 15 15 This is the second commit. 16 16 --- 17 - dir/sub | 2 ++ 18 - file0 | 3 +++ 19 - file2 | 3 --- 17 + dir/sub | 2 ++ 18 + file0 | 3 +++ 19 + file2 | 3 --- 20 20 3 files changed, 5 insertions(+), 3 deletions(-) 21 21 delete mode 100644 file2 22 22 ··· 73 73 Content-Transfer-Encoding: 8bit 74 74 75 75 --- 76 - dir/sub | 2 ++ 77 - file1 | 3 +++ 76 + dir/sub | 2 ++ 77 + file1 | 3 +++ 78 78 2 files changed, 5 insertions(+) 79 79 create mode 100644 file1 80 80 ··· 121 121 Content-Transfer-Encoding: 8bit 122 122 123 123 --- 124 - dir/sub | 2 ++ 125 - file0 | 3 +++ 126 - file3 | 4 ++++ 124 + dir/sub | 2 ++ 125 + file0 | 3 +++ 126 + file3 | 4 ++++ 127 127 3 files changed, 9 insertions(+) 128 128 create mode 100644 file3 129 129
+5 -5
t/t4013/diff.format-patch_--attach_--stdout_initial..master^
··· 14 14 15 15 This is the second commit. 16 16 --- 17 - dir/sub | 2 ++ 18 - file0 | 3 +++ 19 - file2 | 3 --- 17 + dir/sub | 2 ++ 18 + file0 | 3 +++ 19 + file2 | 3 --- 20 20 3 files changed, 5 insertions(+), 3 deletions(-) 21 21 delete mode 100644 file2 22 22 ··· 73 73 Content-Transfer-Encoding: 8bit 74 74 75 75 --- 76 - dir/sub | 2 ++ 77 - file1 | 3 +++ 76 + dir/sub | 2 ++ 77 + file1 | 3 +++ 78 78 2 files changed, 5 insertions(+) 79 79 create mode 100644 file1 80 80
+3 -3
t/t4013/diff.format-patch_--attach_--stdout_initial..side
··· 12 12 Content-Transfer-Encoding: 8bit 13 13 14 14 --- 15 - dir/sub | 2 ++ 16 - file0 | 3 +++ 17 - file3 | 4 ++++ 15 + dir/sub | 2 ++ 16 + file0 | 3 +++ 17 + file3 | 4 ++++ 18 18 3 files changed, 9 insertions(+) 19 19 create mode 100644 file3 20 20
+8 -8
t/t4013/diff.format-patch_--inline_--stdout_--numbered-files_initial..master
··· 14 14 15 15 This is the second commit. 16 16 --- 17 - dir/sub | 2 ++ 18 - file0 | 3 +++ 19 - file2 | 3 --- 17 + dir/sub | 2 ++ 18 + file0 | 3 +++ 19 + file2 | 3 --- 20 20 3 files changed, 5 insertions(+), 3 deletions(-) 21 21 delete mode 100644 file2 22 22 ··· 73 73 Content-Transfer-Encoding: 8bit 74 74 75 75 --- 76 - dir/sub | 2 ++ 77 - file1 | 3 +++ 76 + dir/sub | 2 ++ 77 + file1 | 3 +++ 78 78 2 files changed, 5 insertions(+) 79 79 create mode 100644 file1 80 80 ··· 121 121 Content-Transfer-Encoding: 8bit 122 122 123 123 --- 124 - dir/sub | 2 ++ 125 - file0 | 3 +++ 126 - file3 | 4 ++++ 124 + dir/sub | 2 ++ 125 + file0 | 3 +++ 126 + file3 | 4 ++++ 127 127 3 files changed, 9 insertions(+) 128 128 create mode 100644 file3 129 129
+8 -8
t/t4013/diff.format-patch_--inline_--stdout_--subject-prefix=TESTCASE_initial..master
··· 14 14 15 15 This is the second commit. 16 16 --- 17 - dir/sub | 2 ++ 18 - file0 | 3 +++ 19 - file2 | 3 --- 17 + dir/sub | 2 ++ 18 + file0 | 3 +++ 19 + file2 | 3 --- 20 20 3 files changed, 5 insertions(+), 3 deletions(-) 21 21 delete mode 100644 file2 22 22 ··· 73 73 Content-Transfer-Encoding: 8bit 74 74 75 75 --- 76 - dir/sub | 2 ++ 77 - file1 | 3 +++ 76 + dir/sub | 2 ++ 77 + file1 | 3 +++ 78 78 2 files changed, 5 insertions(+) 79 79 create mode 100644 file1 80 80 ··· 121 121 Content-Transfer-Encoding: 8bit 122 122 123 123 --- 124 - dir/sub | 2 ++ 125 - file0 | 3 +++ 126 - file3 | 4 ++++ 124 + dir/sub | 2 ++ 125 + file0 | 3 +++ 126 + file3 | 4 ++++ 127 127 3 files changed, 9 insertions(+) 128 128 create mode 100644 file3 129 129
+8 -8
t/t4013/diff.format-patch_--inline_--stdout_initial..master
··· 14 14 15 15 This is the second commit. 16 16 --- 17 - dir/sub | 2 ++ 18 - file0 | 3 +++ 19 - file2 | 3 --- 17 + dir/sub | 2 ++ 18 + file0 | 3 +++ 19 + file2 | 3 --- 20 20 3 files changed, 5 insertions(+), 3 deletions(-) 21 21 delete mode 100644 file2 22 22 ··· 73 73 Content-Transfer-Encoding: 8bit 74 74 75 75 --- 76 - dir/sub | 2 ++ 77 - file1 | 3 +++ 76 + dir/sub | 2 ++ 77 + file1 | 3 +++ 78 78 2 files changed, 5 insertions(+) 79 79 create mode 100644 file1 80 80 ··· 121 121 Content-Transfer-Encoding: 8bit 122 122 123 123 --- 124 - dir/sub | 2 ++ 125 - file0 | 3 +++ 126 - file3 | 4 ++++ 124 + dir/sub | 2 ++ 125 + file0 | 3 +++ 126 + file3 | 4 ++++ 127 127 3 files changed, 9 insertions(+) 128 128 create mode 100644 file3 129 129
+5 -5
t/t4013/diff.format-patch_--inline_--stdout_initial..master^
··· 14 14 15 15 This is the second commit. 16 16 --- 17 - dir/sub | 2 ++ 18 - file0 | 3 +++ 19 - file2 | 3 --- 17 + dir/sub | 2 ++ 18 + file0 | 3 +++ 19 + file2 | 3 --- 20 20 3 files changed, 5 insertions(+), 3 deletions(-) 21 21 delete mode 100644 file2 22 22 ··· 73 73 Content-Transfer-Encoding: 8bit 74 74 75 75 --- 76 - dir/sub | 2 ++ 77 - file1 | 3 +++ 76 + dir/sub | 2 ++ 77 + file1 | 3 +++ 78 78 2 files changed, 5 insertions(+) 79 79 create mode 100644 file1 80 80
+3 -3
t/t4013/diff.format-patch_--inline_--stdout_initial..master^^
··· 14 14 15 15 This is the second commit. 16 16 --- 17 - dir/sub | 2 ++ 18 - file0 | 3 +++ 19 - file2 | 3 --- 17 + dir/sub | 2 ++ 18 + file0 | 3 +++ 19 + file2 | 3 --- 20 20 3 files changed, 5 insertions(+), 3 deletions(-) 21 21 delete mode 100644 file2 22 22
+3 -3
t/t4013/diff.format-patch_--inline_--stdout_initial..side
··· 12 12 Content-Transfer-Encoding: 8bit 13 13 14 14 --- 15 - dir/sub | 2 ++ 16 - file0 | 3 +++ 17 - file3 | 4 ++++ 15 + dir/sub | 2 ++ 16 + file0 | 3 +++ 17 + file3 | 4 ++++ 18 18 3 files changed, 9 insertions(+) 19 19 create mode 100644 file3 20 20
+9 -9
t/t4013/diff.format-patch_--stdout_--cover-letter_-n_initial..master^
··· 10 10 Second 11 11 Third 12 12 13 - dir/sub | 4 ++++ 14 - file0 | 3 +++ 15 - file1 | 3 +++ 16 - file2 | 3 --- 13 + dir/sub | 4 ++++ 14 + file0 | 3 +++ 15 + file1 | 3 +++ 16 + file2 | 3 --- 17 17 4 files changed, 10 insertions(+), 3 deletions(-) 18 18 create mode 100644 file1 19 19 delete mode 100644 file2 ··· 28 28 29 29 This is the second commit. 30 30 --- 31 - dir/sub | 2 ++ 32 - file0 | 3 +++ 33 - file2 | 3 --- 31 + dir/sub | 2 ++ 32 + file0 | 3 +++ 33 + file2 | 3 --- 34 34 3 files changed, 5 insertions(+), 3 deletions(-) 35 35 delete mode 100644 file2 36 36 ··· 73 73 Subject: [DIFFERENT_PREFIX 2/2] Third 74 74 75 75 --- 76 - dir/sub | 2 ++ 77 - file1 | 3 +++ 76 + dir/sub | 2 ++ 77 + file1 | 3 +++ 78 78 2 files changed, 5 insertions(+) 79 79 create mode 100644 file1 80 80
+8 -8
t/t4013/diff.format-patch_--stdout_--no-numbered_initial..master
··· 6 6 7 7 This is the second commit. 8 8 --- 9 - dir/sub | 2 ++ 10 - file0 | 3 +++ 11 - file2 | 3 --- 9 + dir/sub | 2 ++ 10 + file0 | 3 +++ 11 + file2 | 3 --- 12 12 3 files changed, 5 insertions(+), 3 deletions(-) 13 13 delete mode 100644 file2 14 14 ··· 51 51 Subject: [PATCH] Third 52 52 53 53 --- 54 - dir/sub | 2 ++ 55 - file1 | 3 +++ 54 + dir/sub | 2 ++ 55 + file1 | 3 +++ 56 56 2 files changed, 5 insertions(+) 57 57 create mode 100644 file1 58 58 ··· 85 85 Subject: [PATCH] Side 86 86 87 87 --- 88 - dir/sub | 2 ++ 89 - file0 | 3 +++ 90 - file3 | 4 ++++ 88 + dir/sub | 2 ++ 89 + file0 | 3 +++ 90 + file3 | 4 ++++ 91 91 3 files changed, 9 insertions(+) 92 92 create mode 100644 file3 93 93
+8 -8
t/t4013/diff.format-patch_--stdout_--numbered_initial..master
··· 6 6 7 7 This is the second commit. 8 8 --- 9 - dir/sub | 2 ++ 10 - file0 | 3 +++ 11 - file2 | 3 --- 9 + dir/sub | 2 ++ 10 + file0 | 3 +++ 11 + file2 | 3 --- 12 12 3 files changed, 5 insertions(+), 3 deletions(-) 13 13 delete mode 100644 file2 14 14 ··· 51 51 Subject: [PATCH 2/3] Third 52 52 53 53 --- 54 - dir/sub | 2 ++ 55 - file1 | 3 +++ 54 + dir/sub | 2 ++ 55 + file1 | 3 +++ 56 56 2 files changed, 5 insertions(+) 57 57 create mode 100644 file1 58 58 ··· 85 85 Subject: [PATCH 3/3] Side 86 86 87 87 --- 88 - dir/sub | 2 ++ 89 - file0 | 3 +++ 90 - file3 | 4 ++++ 88 + dir/sub | 2 ++ 89 + file0 | 3 +++ 90 + file3 | 4 ++++ 91 91 3 files changed, 9 insertions(+) 92 92 create mode 100644 file3 93 93
+8 -8
t/t4013/diff.format-patch_--stdout_initial..master
··· 6 6 7 7 This is the second commit. 8 8 --- 9 - dir/sub | 2 ++ 10 - file0 | 3 +++ 11 - file2 | 3 --- 9 + dir/sub | 2 ++ 10 + file0 | 3 +++ 11 + file2 | 3 --- 12 12 3 files changed, 5 insertions(+), 3 deletions(-) 13 13 delete mode 100644 file2 14 14 ··· 51 51 Subject: [PATCH 2/3] Third 52 52 53 53 --- 54 - dir/sub | 2 ++ 55 - file1 | 3 +++ 54 + dir/sub | 2 ++ 55 + file1 | 3 +++ 56 56 2 files changed, 5 insertions(+) 57 57 create mode 100644 file1 58 58 ··· 85 85 Subject: [PATCH 3/3] Side 86 86 87 87 --- 88 - dir/sub | 2 ++ 89 - file0 | 3 +++ 90 - file3 | 4 ++++ 88 + dir/sub | 2 ++ 89 + file0 | 3 +++ 90 + file3 | 4 ++++ 91 91 3 files changed, 9 insertions(+) 92 92 create mode 100644 file3 93 93
+5 -5
t/t4013/diff.format-patch_--stdout_initial..master^
··· 6 6 7 7 This is the second commit. 8 8 --- 9 - dir/sub | 2 ++ 10 - file0 | 3 +++ 11 - file2 | 3 --- 9 + dir/sub | 2 ++ 10 + file0 | 3 +++ 11 + file2 | 3 --- 12 12 3 files changed, 5 insertions(+), 3 deletions(-) 13 13 delete mode 100644 file2 14 14 ··· 51 51 Subject: [PATCH 2/2] Third 52 52 53 53 --- 54 - dir/sub | 2 ++ 55 - file1 | 3 +++ 54 + dir/sub | 2 ++ 55 + file1 | 3 +++ 56 56 2 files changed, 5 insertions(+) 57 57 create mode 100644 file1 58 58
+3 -3
t/t4013/diff.format-patch_--stdout_initial..side
··· 5 5 Subject: [PATCH] Side 6 6 7 7 --- 8 - dir/sub | 2 ++ 9 - file0 | 3 +++ 10 - file3 | 4 ++++ 8 + dir/sub | 2 ++ 9 + file0 | 3 +++ 10 + file3 | 4 ++++ 11 11 3 files changed, 9 insertions(+) 12 12 create mode 100644 file3 13 13
+3 -3
t/t4013/diff.log_--patch-with-stat_--summary_master_--_dir_
··· 12 12 13 13 Side 14 14 --- 15 - dir/sub | 2 ++ 15 + dir/sub | 2 ++ 16 16 1 file changed, 2 insertions(+) 17 17 18 18 diff --git a/dir/sub b/dir/sub ··· 31 31 32 32 Third 33 33 --- 34 - dir/sub | 2 ++ 34 + dir/sub | 2 ++ 35 35 1 file changed, 2 insertions(+) 36 36 37 37 diff --git a/dir/sub b/dir/sub ··· 53 53 54 54 This is the second commit. 55 55 --- 56 - dir/sub | 2 ++ 56 + dir/sub | 2 ++ 57 57 1 file changed, 2 insertions(+) 58 58 59 59 diff --git a/dir/sub b/dir/sub
+8 -8
t/t4013/diff.log_--patch-with-stat_master
··· 12 12 13 13 Side 14 14 --- 15 - dir/sub | 2 ++ 16 - file0 | 3 +++ 17 - file3 | 4 ++++ 15 + dir/sub | 2 ++ 16 + file0 | 3 +++ 17 + file3 | 4 ++++ 18 18 3 files changed, 9 insertions(+) 19 19 20 20 diff --git a/dir/sub b/dir/sub ··· 54 54 55 55 Third 56 56 --- 57 - dir/sub | 2 ++ 58 - file1 | 3 +++ 57 + dir/sub | 2 ++ 58 + file1 | 3 +++ 59 59 2 files changed, 5 insertions(+) 60 60 61 61 diff --git a/dir/sub b/dir/sub ··· 86 86 87 87 This is the second commit. 88 88 --- 89 - dir/sub | 2 ++ 90 - file0 | 3 +++ 91 - file2 | 3 --- 89 + dir/sub | 2 ++ 90 + file0 | 3 +++ 91 + file2 | 3 --- 92 92 3 files changed, 5 insertions(+), 3 deletions(-) 93 93 94 94 diff --git a/dir/sub b/dir/sub
+3 -3
t/t4013/diff.log_--patch-with-stat_master_--_dir_
··· 12 12 13 13 Side 14 14 --- 15 - dir/sub | 2 ++ 15 + dir/sub | 2 ++ 16 16 1 file changed, 2 insertions(+) 17 17 18 18 diff --git a/dir/sub b/dir/sub ··· 31 31 32 32 Third 33 33 --- 34 - dir/sub | 2 ++ 34 + dir/sub | 2 ++ 35 35 1 file changed, 2 insertions(+) 36 36 37 37 diff --git a/dir/sub b/dir/sub ··· 53 53 54 54 This is the second commit. 55 55 --- 56 - dir/sub | 2 ++ 56 + dir/sub | 2 ++ 57 57 1 file changed, 2 insertions(+) 58 58 59 59 diff --git a/dir/sub b/dir/sub
+13 -13
t/t4013/diff.log_--root_--cc_--patch-with-stat_--summary_master
··· 6 6 7 7 Merge branch 'side' 8 8 9 - dir/sub | 2 ++ 10 - file0 | 3 +++ 9 + dir/sub | 2 ++ 10 + file0 | 3 +++ 11 11 2 files changed, 5 insertions(+) 12 12 13 13 diff --cc dir/sub ··· 44 44 45 45 Side 46 46 --- 47 - dir/sub | 2 ++ 48 - file0 | 3 +++ 49 - file3 | 4 ++++ 47 + dir/sub | 2 ++ 48 + file0 | 3 +++ 49 + file3 | 4 ++++ 50 50 3 files changed, 9 insertions(+) 51 51 create mode 100644 file3 52 52 ··· 87 87 88 88 Third 89 89 --- 90 - dir/sub | 2 ++ 91 - file1 | 3 +++ 90 + dir/sub | 2 ++ 91 + file1 | 3 +++ 92 92 2 files changed, 5 insertions(+) 93 93 create mode 100644 file1 94 94 ··· 120 120 121 121 This is the second commit. 122 122 --- 123 - dir/sub | 2 ++ 124 - file0 | 3 +++ 125 - file2 | 3 --- 123 + dir/sub | 2 ++ 124 + file0 | 3 +++ 125 + file2 | 3 --- 126 126 3 files changed, 5 insertions(+), 3 deletions(-) 127 127 delete mode 100644 file2 128 128 ··· 162 162 163 163 Initial 164 164 --- 165 - dir/sub | 2 ++ 166 - file0 | 3 +++ 167 - file2 | 3 +++ 165 + dir/sub | 2 ++ 166 + file0 | 3 +++ 167 + file2 | 3 +++ 168 168 3 files changed, 8 insertions(+) 169 169 create mode 100644 dir/sub 170 170 create mode 100644 file0
+11 -11
t/t4013/diff.log_--root_--patch-with-stat_--summary_master
··· 12 12 13 13 Side 14 14 --- 15 - dir/sub | 2 ++ 16 - file0 | 3 +++ 17 - file3 | 4 ++++ 15 + dir/sub | 2 ++ 16 + file0 | 3 +++ 17 + file3 | 4 ++++ 18 18 3 files changed, 9 insertions(+) 19 19 create mode 100644 file3 20 20 ··· 55 55 56 56 Third 57 57 --- 58 - dir/sub | 2 ++ 59 - file1 | 3 +++ 58 + dir/sub | 2 ++ 59 + file1 | 3 +++ 60 60 2 files changed, 5 insertions(+) 61 61 create mode 100644 file1 62 62 ··· 88 88 89 89 This is the second commit. 90 90 --- 91 - dir/sub | 2 ++ 92 - file0 | 3 +++ 93 - file2 | 3 --- 91 + dir/sub | 2 ++ 92 + file0 | 3 +++ 93 + file2 | 3 --- 94 94 3 files changed, 5 insertions(+), 3 deletions(-) 95 95 delete mode 100644 file2 96 96 ··· 130 130 131 131 Initial 132 132 --- 133 - dir/sub | 2 ++ 134 - file0 | 3 +++ 135 - file2 | 3 +++ 133 + dir/sub | 2 ++ 134 + file0 | 3 +++ 135 + file2 | 3 +++ 136 136 3 files changed, 8 insertions(+) 137 137 create mode 100644 dir/sub 138 138 create mode 100644 file0
+11 -11
t/t4013/diff.log_--root_--patch-with-stat_master
··· 12 12 13 13 Side 14 14 --- 15 - dir/sub | 2 ++ 16 - file0 | 3 +++ 17 - file3 | 4 ++++ 15 + dir/sub | 2 ++ 16 + file0 | 3 +++ 17 + file3 | 4 ++++ 18 18 3 files changed, 9 insertions(+) 19 19 20 20 diff --git a/dir/sub b/dir/sub ··· 54 54 55 55 Third 56 56 --- 57 - dir/sub | 2 ++ 58 - file1 | 3 +++ 57 + dir/sub | 2 ++ 58 + file1 | 3 +++ 59 59 2 files changed, 5 insertions(+) 60 60 61 61 diff --git a/dir/sub b/dir/sub ··· 86 86 87 87 This is the second commit. 88 88 --- 89 - dir/sub | 2 ++ 90 - file0 | 3 +++ 91 - file2 | 3 --- 89 + dir/sub | 2 ++ 90 + file0 | 3 +++ 91 + file2 | 3 --- 92 92 3 files changed, 5 insertions(+), 3 deletions(-) 93 93 94 94 diff --git a/dir/sub b/dir/sub ··· 127 127 128 128 Initial 129 129 --- 130 - dir/sub | 2 ++ 131 - file0 | 3 +++ 132 - file2 | 3 +++ 130 + dir/sub | 2 ++ 131 + file0 | 3 +++ 132 + file2 | 3 +++ 133 133 3 files changed, 8 insertions(+) 134 134 135 135 diff --git a/dir/sub b/dir/sub
+13 -13
t/t4013/diff.log_--root_-c_--patch-with-stat_--summary_master
··· 6 6 7 7 Merge branch 'side' 8 8 9 - dir/sub | 2 ++ 10 - file0 | 3 +++ 9 + dir/sub | 2 ++ 10 + file0 | 3 +++ 11 11 2 files changed, 5 insertions(+) 12 12 13 13 diff --combined dir/sub ··· 44 44 45 45 Side 46 46 --- 47 - dir/sub | 2 ++ 48 - file0 | 3 +++ 49 - file3 | 4 ++++ 47 + dir/sub | 2 ++ 48 + file0 | 3 +++ 49 + file3 | 4 ++++ 50 50 3 files changed, 9 insertions(+) 51 51 create mode 100644 file3 52 52 ··· 87 87 88 88 Third 89 89 --- 90 - dir/sub | 2 ++ 91 - file1 | 3 +++ 90 + dir/sub | 2 ++ 91 + file1 | 3 +++ 92 92 2 files changed, 5 insertions(+) 93 93 create mode 100644 file1 94 94 ··· 120 120 121 121 This is the second commit. 122 122 --- 123 - dir/sub | 2 ++ 124 - file0 | 3 +++ 125 - file2 | 3 --- 123 + dir/sub | 2 ++ 124 + file0 | 3 +++ 125 + file2 | 3 --- 126 126 3 files changed, 5 insertions(+), 3 deletions(-) 127 127 delete mode 100644 file2 128 128 ··· 162 162 163 163 Initial 164 164 --- 165 - dir/sub | 2 ++ 166 - file0 | 3 +++ 167 - file2 | 3 +++ 165 + dir/sub | 2 ++ 166 + file0 | 3 +++ 167 + file2 | 3 +++ 168 168 3 files changed, 8 insertions(+) 169 169 create mode 100644 dir/sub 170 170 create mode 100644 file0
+3 -3
t/t4013/diff.show_--patch-with-stat_--summary_side
··· 5 5 6 6 Side 7 7 --- 8 - dir/sub | 2 ++ 9 - file0 | 3 +++ 10 - file3 | 4 ++++ 8 + dir/sub | 2 ++ 9 + file0 | 3 +++ 10 + file3 | 4 ++++ 11 11 3 files changed, 9 insertions(+) 12 12 create mode 100644 file3 13 13
+3 -3
t/t4013/diff.show_--patch-with-stat_side
··· 5 5 6 6 Side 7 7 --- 8 - dir/sub | 2 ++ 9 - file0 | 3 +++ 10 - file3 | 4 ++++ 8 + dir/sub | 2 ++ 9 + file0 | 3 +++ 10 + file3 | 4 ++++ 11 11 3 files changed, 9 insertions(+) 12 12 13 13 diff --git a/dir/sub b/dir/sub
+3 -3
t/t4013/diff.show_--stat_--summary_side
··· 5 5 6 6 Side 7 7 8 - dir/sub | 2 ++ 9 - file0 | 3 +++ 10 - file3 | 4 ++++ 8 + dir/sub | 2 ++ 9 + file0 | 3 +++ 10 + file3 | 4 ++++ 11 11 3 files changed, 9 insertions(+) 12 12 create mode 100644 file3 13 13 $
+3 -3
t/t4013/diff.show_--stat_side
··· 5 5 6 6 Side 7 7 8 - dir/sub | 2 ++ 9 - file0 | 3 +++ 10 - file3 | 4 ++++ 8 + dir/sub | 2 ++ 9 + file0 | 3 +++ 10 + file3 | 4 ++++ 11 11 3 files changed, 9 insertions(+) 12 12 $
+3 -3
t/t4013/diff.whatchanged_--patch-with-stat_--summary_master_--_dir_
··· 5 5 6 6 Side 7 7 --- 8 - dir/sub | 2 ++ 8 + dir/sub | 2 ++ 9 9 1 file changed, 2 insertions(+) 10 10 11 11 diff --git a/dir/sub b/dir/sub ··· 24 24 25 25 Third 26 26 --- 27 - dir/sub | 2 ++ 27 + dir/sub | 2 ++ 28 28 1 file changed, 2 insertions(+) 29 29 30 30 diff --git a/dir/sub b/dir/sub ··· 46 46 47 47 This is the second commit. 48 48 --- 49 - dir/sub | 2 ++ 49 + dir/sub | 2 ++ 50 50 1 file changed, 2 insertions(+) 51 51 52 52 diff --git a/dir/sub b/dir/sub
+8 -8
t/t4013/diff.whatchanged_--patch-with-stat_master
··· 5 5 6 6 Side 7 7 --- 8 - dir/sub | 2 ++ 9 - file0 | 3 +++ 10 - file3 | 4 ++++ 8 + dir/sub | 2 ++ 9 + file0 | 3 +++ 10 + file3 | 4 ++++ 11 11 3 files changed, 9 insertions(+) 12 12 13 13 diff --git a/dir/sub b/dir/sub ··· 47 47 48 48 Third 49 49 --- 50 - dir/sub | 2 ++ 51 - file1 | 3 +++ 50 + dir/sub | 2 ++ 51 + file1 | 3 +++ 52 52 2 files changed, 5 insertions(+) 53 53 54 54 diff --git a/dir/sub b/dir/sub ··· 79 79 80 80 This is the second commit. 81 81 --- 82 - dir/sub | 2 ++ 83 - file0 | 3 +++ 84 - file2 | 3 --- 82 + dir/sub | 2 ++ 83 + file0 | 3 +++ 84 + file2 | 3 --- 85 85 3 files changed, 5 insertions(+), 3 deletions(-) 86 86 87 87 diff --git a/dir/sub b/dir/sub
+3 -3
t/t4013/diff.whatchanged_--patch-with-stat_master_--_dir_
··· 5 5 6 6 Side 7 7 --- 8 - dir/sub | 2 ++ 8 + dir/sub | 2 ++ 9 9 1 file changed, 2 insertions(+) 10 10 11 11 diff --git a/dir/sub b/dir/sub ··· 24 24 25 25 Third 26 26 --- 27 - dir/sub | 2 ++ 27 + dir/sub | 2 ++ 28 28 1 file changed, 2 insertions(+) 29 29 30 30 diff --git a/dir/sub b/dir/sub ··· 46 46 47 47 This is the second commit. 48 48 --- 49 - dir/sub | 2 ++ 49 + dir/sub | 2 ++ 50 50 1 file changed, 2 insertions(+) 51 51 52 52 diff --git a/dir/sub b/dir/sub
+13 -13
t/t4013/diff.whatchanged_--root_--cc_--patch-with-stat_--summary_master
··· 6 6 7 7 Merge branch 'side' 8 8 9 - dir/sub | 2 ++ 10 - file0 | 3 +++ 9 + dir/sub | 2 ++ 10 + file0 | 3 +++ 11 11 2 files changed, 5 insertions(+) 12 12 13 13 diff --cc dir/sub ··· 44 44 45 45 Side 46 46 --- 47 - dir/sub | 2 ++ 48 - file0 | 3 +++ 49 - file3 | 4 ++++ 47 + dir/sub | 2 ++ 48 + file0 | 3 +++ 49 + file3 | 4 ++++ 50 50 3 files changed, 9 insertions(+) 51 51 create mode 100644 file3 52 52 ··· 87 87 88 88 Third 89 89 --- 90 - dir/sub | 2 ++ 91 - file1 | 3 +++ 90 + dir/sub | 2 ++ 91 + file1 | 3 +++ 92 92 2 files changed, 5 insertions(+) 93 93 create mode 100644 file1 94 94 ··· 120 120 121 121 This is the second commit. 122 122 --- 123 - dir/sub | 2 ++ 124 - file0 | 3 +++ 125 - file2 | 3 --- 123 + dir/sub | 2 ++ 124 + file0 | 3 +++ 125 + file2 | 3 --- 126 126 3 files changed, 5 insertions(+), 3 deletions(-) 127 127 delete mode 100644 file2 128 128 ··· 162 162 163 163 Initial 164 164 --- 165 - dir/sub | 2 ++ 166 - file0 | 3 +++ 167 - file2 | 3 +++ 165 + dir/sub | 2 ++ 166 + file0 | 3 +++ 167 + file2 | 3 +++ 168 168 3 files changed, 8 insertions(+) 169 169 create mode 100644 dir/sub 170 170 create mode 100644 file0
+11 -11
t/t4013/diff.whatchanged_--root_--patch-with-stat_--summary_master
··· 5 5 6 6 Side 7 7 --- 8 - dir/sub | 2 ++ 9 - file0 | 3 +++ 10 - file3 | 4 ++++ 8 + dir/sub | 2 ++ 9 + file0 | 3 +++ 10 + file3 | 4 ++++ 11 11 3 files changed, 9 insertions(+) 12 12 create mode 100644 file3 13 13 ··· 48 48 49 49 Third 50 50 --- 51 - dir/sub | 2 ++ 52 - file1 | 3 +++ 51 + dir/sub | 2 ++ 52 + file1 | 3 +++ 53 53 2 files changed, 5 insertions(+) 54 54 create mode 100644 file1 55 55 ··· 81 81 82 82 This is the second commit. 83 83 --- 84 - dir/sub | 2 ++ 85 - file0 | 3 +++ 86 - file2 | 3 --- 84 + dir/sub | 2 ++ 85 + file0 | 3 +++ 86 + file2 | 3 --- 87 87 3 files changed, 5 insertions(+), 3 deletions(-) 88 88 delete mode 100644 file2 89 89 ··· 123 123 124 124 Initial 125 125 --- 126 - dir/sub | 2 ++ 127 - file0 | 3 +++ 128 - file2 | 3 +++ 126 + dir/sub | 2 ++ 127 + file0 | 3 +++ 128 + file2 | 3 +++ 129 129 3 files changed, 8 insertions(+) 130 130 create mode 100644 dir/sub 131 131 create mode 100644 file0
+11 -11
t/t4013/diff.whatchanged_--root_--patch-with-stat_master
··· 5 5 6 6 Side 7 7 --- 8 - dir/sub | 2 ++ 9 - file0 | 3 +++ 10 - file3 | 4 ++++ 8 + dir/sub | 2 ++ 9 + file0 | 3 +++ 10 + file3 | 4 ++++ 11 11 3 files changed, 9 insertions(+) 12 12 13 13 diff --git a/dir/sub b/dir/sub ··· 47 47 48 48 Third 49 49 --- 50 - dir/sub | 2 ++ 51 - file1 | 3 +++ 50 + dir/sub | 2 ++ 51 + file1 | 3 +++ 52 52 2 files changed, 5 insertions(+) 53 53 54 54 diff --git a/dir/sub b/dir/sub ··· 79 79 80 80 This is the second commit. 81 81 --- 82 - dir/sub | 2 ++ 83 - file0 | 3 +++ 84 - file2 | 3 --- 82 + dir/sub | 2 ++ 83 + file0 | 3 +++ 84 + file2 | 3 --- 85 85 3 files changed, 5 insertions(+), 3 deletions(-) 86 86 87 87 diff --git a/dir/sub b/dir/sub ··· 120 120 121 121 Initial 122 122 --- 123 - dir/sub | 2 ++ 124 - file0 | 3 +++ 125 - file2 | 3 +++ 123 + dir/sub | 2 ++ 124 + file0 | 3 +++ 125 + file2 | 3 +++ 126 126 3 files changed, 8 insertions(+) 127 127 128 128 diff --git a/dir/sub b/dir/sub
+13 -13
t/t4013/diff.whatchanged_--root_-c_--patch-with-stat_--summary_master
··· 6 6 7 7 Merge branch 'side' 8 8 9 - dir/sub | 2 ++ 10 - file0 | 3 +++ 9 + dir/sub | 2 ++ 10 + file0 | 3 +++ 11 11 2 files changed, 5 insertions(+) 12 12 13 13 diff --combined dir/sub ··· 44 44 45 45 Side 46 46 --- 47 - dir/sub | 2 ++ 48 - file0 | 3 +++ 49 - file3 | 4 ++++ 47 + dir/sub | 2 ++ 48 + file0 | 3 +++ 49 + file3 | 4 ++++ 50 50 3 files changed, 9 insertions(+) 51 51 create mode 100644 file3 52 52 ··· 87 87 88 88 Third 89 89 --- 90 - dir/sub | 2 ++ 91 - file1 | 3 +++ 90 + dir/sub | 2 ++ 91 + file1 | 3 +++ 92 92 2 files changed, 5 insertions(+) 93 93 create mode 100644 file1 94 94 ··· 120 120 121 121 This is the second commit. 122 122 --- 123 - dir/sub | 2 ++ 124 - file0 | 3 +++ 125 - file2 | 3 --- 123 + dir/sub | 2 ++ 124 + file0 | 3 +++ 125 + file2 | 3 --- 126 126 3 files changed, 5 insertions(+), 3 deletions(-) 127 127 delete mode 100644 file2 128 128 ··· 162 162 163 163 Initial 164 164 --- 165 - dir/sub | 2 ++ 166 - file0 | 3 +++ 167 - file2 | 3 +++ 165 + dir/sub | 2 ++ 166 + file0 | 3 +++ 167 + file2 | 3 +++ 168 168 3 files changed, 8 insertions(+) 169 169 create mode 100644 dir/sub 170 170 create mode 100644 file0
+7 -7
t/t4016-diff-quote.sh
··· 73 73 74 74 test_expect_success TABS_IN_FILENAMES 'git diff --stat -M HEAD' ' 75 75 cat >expect <<-\EOF && 76 - pathname.1 => "Rpathname\twith HT.0" | 0 77 - pathname.3 => "Rpathname\nwith LF.0" | 0 78 - "pathname\twith HT.3" => "Rpathname\nwith LF.1" | 0 79 - pathname.2 => Rpathname with SP.0 | 0 80 - "pathname\twith HT.2" => Rpathname with SP.1 | 0 81 - pathname.0 => Rpathname.0 | 0 82 - "pathname\twith HT.0" => Rpathname.1 | 0 76 + pathname.1 => "Rpathname\twith HT.0" | 0 77 + pathname.3 => "Rpathname\nwith LF.0" | 0 78 + "pathname\twith HT.3" => "Rpathname\nwith LF.1" | 0 79 + pathname.2 => Rpathname with SP.0 | 0 80 + "pathname\twith HT.2" => Rpathname with SP.1 | 0 81 + pathname.0 => Rpathname.0 | 0 82 + "pathname\twith HT.0" => Rpathname.1 | 0 83 83 7 files changed, 0 insertions(+), 0 deletions(-) 84 84 EOF 85 85 git diff --stat -M HEAD >actual &&
+1 -1
t/t4030-diff-textconv.sh
··· 85 85 ' 86 86 87 87 cat >expect.stat <<'EOF' 88 - file | Bin 2 -> 4 bytes 88 + file | Bin 2 -> 4 bytes 89 89 1 file changed, 0 insertions(+), 0 deletions(-) 90 90 EOF 91 91 test_expect_success 'diffstat does not run textconv' '
+1 -1
t/t4045-diff-relative.sh
··· 44 44 check_stat() { 45 45 expect=$1; shift 46 46 cat >expected <<EOF 47 - $expect | 1 + 47 + $expect | 1 + 48 48 1 file changed, 1 insertion(+) 49 49 EOF 50 50 test_expect_success "--stat $*" "
+2 -2
t/t4049-diff-stat-count.sh
··· 14 14 echo a >a && 15 15 echo b >b && 16 16 cat >expect <<-\EOF 17 - a | 1 + 18 - b | 1 + 17 + a | 1 + 18 + b | 1 + 19 19 2 files changed, 2 insertions(+) 20 20 EOF 21 21 git diff --stat --stat-count=2 >actual &&
+3 -3
t/t4052-stat-output.sh
··· 22 22 while read cmd args 23 23 do 24 24 cat >expect <<-'EOF' 25 - ...aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa | 1 + 25 + ...aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa | 1 + 26 26 EOF 27 27 test_expect_success "$cmd: small change with long name gives more space to the name" ' 28 28 git $cmd $args >output && ··· 31 31 ' 32 32 33 33 cat >expect <<-'EOF' 34 - ...aaaaaaaaaaaaaaaaaaaaaaaaaa | 1 + 34 + ...aaaaaaaaaaaaaaaaaaaaaaaaaaaaa | 1 + 35 35 EOF 36 36 test_expect_success "$cmd --stat=width: a long name is given more room when the bar is short" ' 37 37 git $cmd $args --stat=40 >output && ··· 46 46 ' 47 47 48 48 cat >expect <<-'EOF' 49 - ...aaaaaaaaaaaaaaaaaaaaaaaaaaa | 1 + 49 + ...aaaaaaaaaaaaaaaaaaaaaaaaaaa | 1 + 50 50 EOF 51 51 test_expect_success "$cmd --stat=...,name-width with long name" ' 52 52 git $cmd $args --stat=60,30 >output &&
+15 -15
t/t4202-log.sh
··· 528 528 | | 529 529 | | reach 530 530 | | --- 531 - | | reach.t | 1 + 531 + | | reach.t | 1 + 532 532 | | 1 file changed, 1 insertion(+) 533 533 | | 534 534 | | diff --git a/reach.t b/reach.t ··· 551 551 | | | 552 552 | | | octopus-b 553 553 | | | --- 554 - | | | octopus-b.t | 1 + 554 + | | | octopus-b.t | 1 + 555 555 | | | 1 file changed, 1 insertion(+) 556 556 | | | 557 557 | | | diff --git a/octopus-b.t b/octopus-b.t ··· 567 567 | | 568 568 | | octopus-a 569 569 | | --- 570 - | | octopus-a.t | 1 + 570 + | | octopus-a.t | 1 + 571 571 | | 1 file changed, 1 insertion(+) 572 572 | | 573 573 | | diff --git a/octopus-a.t b/octopus-a.t ··· 583 583 | 584 584 | seventh 585 585 | --- 586 - | seventh.t | 1 + 586 + | seventh.t | 1 + 587 587 | 1 file changed, 1 insertion(+) 588 588 | 589 589 | diff --git a/seventh.t b/seventh.t ··· 617 617 | | | | 618 618 | | | | tangle-a 619 619 | | | | --- 620 - | | | | tangle-a | 1 + 620 + | | | | tangle-a | 1 + 621 621 | | | | 1 file changed, 1 insertion(+) 622 622 | | | | 623 623 | | | | diff --git a/tangle-a b/tangle-a ··· 639 639 | |/| | 640 640 | | | | side-2 641 641 | | | | --- 642 - | | | | 2 | 1 + 642 + | | | | 2 | 1 + 643 643 | | | | 1 file changed, 1 insertion(+) 644 644 | | | | 645 645 | | | | diff --git a/2 b/2 ··· 655 655 | | | | 656 656 | | | | side-1 657 657 | | | | --- 658 - | | | | 1 | 1 + 658 + | | | | 1 | 1 + 659 659 | | | | 1 file changed, 1 insertion(+) 660 660 | | | | 661 661 | | | | diff --git a/1 b/1 ··· 671 671 | | | | 672 672 | | | | Second 673 673 | | | | --- 674 - | | | | one | 1 + 674 + | | | | one | 1 + 675 675 | | | | 1 file changed, 1 insertion(+) 676 676 | | | | 677 677 | | | | diff --git a/one b/one ··· 687 687 |/| | 688 688 | | | sixth 689 689 | | | --- 690 - | | | a/two | 1 - 690 + | | | a/two | 1 - 691 691 | | | 1 file changed, 1 deletion(-) 692 692 | | | 693 693 | | | diff --git a/a/two b/a/two ··· 703 703 | | | 704 704 | | | fifth 705 705 | | | --- 706 - | | | a/two | 1 + 706 + | | | a/two | 1 + 707 707 | | | 1 file changed, 1 insertion(+) 708 708 | | | 709 709 | | | diff --git a/a/two b/a/two ··· 719 719 | | 720 720 | | fourth 721 721 | | --- 722 - | | ein | 1 + 722 + | | ein | 1 + 723 723 | | 1 file changed, 1 insertion(+) 724 724 | | 725 725 | | diff --git a/ein b/ein ··· 735 735 | 736 736 | third 737 737 | --- 738 - | ichi | 1 + 739 - | one | 1 - 738 + | ichi | 1 + 739 + | one | 1 - 740 740 | 2 files changed, 1 insertion(+), 1 deletion(-) 741 741 | 742 742 | diff --git a/ichi b/ichi ··· 759 759 | 760 760 | second 761 761 | --- 762 - | one | 2 +- 762 + | one | 2 +- 763 763 | 1 file changed, 1 insertion(+), 1 deletion(-) 764 764 | 765 765 | diff --git a/one b/one ··· 775 775 776 776 initial 777 777 --- 778 - one | 1 + 778 + one | 1 + 779 779 1 file changed, 1 insertion(+) 780 780 781 781 diff --git a/one b/one
+1 -1
t/t5100/patch0001
··· 1 1 --- 2 - foo | 2 +- 2 + foo | 2 +- 3 3 1 files changed, 1 insertions(+), 1 deletions(-) 4 4 5 5 diff --git a/foo b/foo
+1 -1
t/t5100/patch0002
··· 1 1 --- 2 - foo | 2 +- 2 + foo | 2 +- 3 3 1 files changed, 1 insertions(+), 1 deletions(-) 4 4 5 5 diff --git a/foo b/foo
+1 -1
t/t5100/patch0003
··· 1 1 --- 2 - foo | 2 +- 2 + foo | 2 +- 3 3 1 files changed, 1 insertions(+), 1 deletions(-) 4 4 5 5 diff --git a/foo b/foo
+2 -2
t/t5100/patch0005
··· 1 1 --- 2 2 3 - Documentation/git-cvsimport-script.txt | 9 ++++++++- 4 - git-cvsimport-script | 4 ++-- 3 + Documentation/git-cvsimport-script.txt | 9 ++++++++- 4 + git-cvsimport-script | 4 ++-- 5 5 2 files changed, 10 insertions(+), 3 deletions(-) 6 6 7 7 50452f9c0c2df1f04d83a26266ba704b13861632
+1 -1
t/t5100/patch0006
··· 1 1 --- 2 - foo | 2 +- 2 + foo | 2 +- 3 3 1 files changed, 1 insertions(+), 1 deletions(-) 4 4 5 5 diff --git a/foo b/foo
+1 -1
t/t5100/patch0010
··· 1 1 --- 2 - builtin-mailinfo.c | 2 +- 2 + builtin-mailinfo.c | 2 +- 3 3 1 files changed, 1 insertions(+), 1 deletions(-) 4 4 5 5 diff --git a/builtin-mailinfo.c b/builtin-mailinfo.c
+1 -1
t/t5100/patch0011
··· 1 1 --- 2 - builtin-mailinfo.c | 4 ++-- 2 + builtin-mailinfo.c | 4 ++-- 3 3 4 4 diff --git a/builtin-mailinfo.c b/builtin-mailinfo.c 5 5 index 3e5fe51..aabfe5c 100644
+1 -1
t/t5100/patch0014
··· 1 1 --- 2 - builtin-mailinfo.c | 37 ++++++++++++++++++++++++++++++++++++- 2 + builtin-mailinfo.c | 37 ++++++++++++++++++++++++++++++++++++- 3 3 1 files changed, 36 insertions(+), 1 deletions(-) 4 4 5 5 diff --git a/builtin-mailinfo.c b/builtin-mailinfo.c
+1 -1
t/t5100/patch0014--scissors
··· 1 1 --- 2 - builtin-mailinfo.c | 37 ++++++++++++++++++++++++++++++++++++- 2 + builtin-mailinfo.c | 37 ++++++++++++++++++++++++++++++++++++- 3 3 1 files changed, 36 insertions(+), 1 deletions(-) 4 4 5 5 diff --git a/builtin-mailinfo.c b/builtin-mailinfo.c
+9 -9
t/t5100/sample.mbox
··· 12 12 Here is a patch from A U Thor. 13 13 14 14 --- 15 - foo | 2 +- 15 + foo | 2 +- 16 16 1 files changed, 1 insertions(+), 1 deletions(-) 17 17 18 18 diff --git a/foo b/foo ··· 52 52 Hope this helps. 53 53 54 54 --- 55 - foo | 2 +- 55 + foo | 2 +- 56 56 1 files changed, 1 insertions(+), 1 deletions(-) 57 57 58 58 diff --git a/foo b/foo ··· 83 83 Hopefully this would fix the problem stated there. 84 84 85 85 --- 86 - foo | 2 +- 86 + foo | 2 +- 87 87 1 files changed, 1 insertions(+), 1 deletions(-) 88 88 89 89 diff --git a/foo b/foo ··· 249 249 Signed-off-by: David K=E5gedal <davidk@lysator.liu.se> 250 250 --- 251 251 252 - Documentation/git-cvsimport-script.txt | 9 ++++++++- 253 - git-cvsimport-script | 4 ++-- 252 + Documentation/git-cvsimport-script.txt | 9 ++++++++- 253 + git-cvsimport-script | 4 ++-- 254 254 2 files changed, 10 insertions(+), 3 deletions(-) 255 255 256 256 50452f9c0c2df1f04d83a26266ba704b13861632 ··· 379 379 Here is a patch from A U Thor. 380 380 381 381 --- 382 - foo | 2 +- 382 + foo | 2 +- 383 383 1 files changed, 1 insertions(+), 1 deletions(-) 384 384 385 385 diff --git a/foo b/foo ··· 449 449 Signed-off-by: Lukas Sandström <lukass@etek.chalmers.se> 450 450 Signed-off-by: Junio C Hamano <gitster@pobox.com> 451 451 --- 452 - builtin-mailinfo.c | 2 +- 452 + builtin-mailinfo.c | 2 +- 453 453 1 files changed, 1 insertions(+), 1 deletions(-) 454 454 455 455 diff --git a/builtin-mailinfo.c b/builtin-mailinfo.c ··· 482 482 Here comes a commit log message, and 483 483 its second line is here. 484 484 --- 485 - builtin-mailinfo.c | 4 ++-- 485 + builtin-mailinfo.c | 4 ++-- 486 486 487 487 diff --git a/builtin-mailinfo.c b/builtin-mailinfo.c 488 488 index 3e5fe51..aabfe5c 100644 ··· 587 587 588 588 Signed-off-by: Junio C Hamano <gitster@pobox.com> 589 589 --- 590 - builtin-mailinfo.c | 37 ++++++++++++++++++++++++++++++++++++- 590 + builtin-mailinfo.c | 37 ++++++++++++++++++++++++++++++++++++- 591 591 1 files changed, 36 insertions(+), 1 deletions(-) 592 592 593 593 diff --git a/builtin-mailinfo.c b/builtin-mailinfo.c
+6 -6
t/t7602-merge-octopus-many.sh
··· 54 54 Trying simple merge with c3 55 55 Trying simple merge with c4 56 56 Merge made by the 'octopus' strategy. 57 - c2.c | 1 + 58 - c3.c | 1 + 59 - c4.c | 1 + 57 + c2.c | 1 + 58 + c3.c | 1 + 59 + c4.c | 1 + 60 60 3 files changed, 3 insertions(+) 61 61 create mode 100644 c2.c 62 62 create mode 100644 c3.c ··· 71 71 72 72 cat >expected <<\EOF 73 73 Merge made by the 'recursive' strategy. 74 - c5.c | 1 + 74 + c5.c | 1 + 75 75 1 file changed, 1 insertion(+) 76 76 create mode 100644 c5.c 77 77 EOF ··· 85 85 Fast-forwarding to: c1 86 86 Trying simple merge with c2 87 87 Merge made by the 'octopus' strategy. 88 - c1.c | 1 + 89 - c2.c | 1 + 88 + c1.c | 1 + 89 + c2.c | 1 + 90 90 2 files changed, 2 insertions(+) 91 91 create mode 100644 c1.c 92 92 create mode 100644 c2.c