Skip to content

Commit

Permalink
Merge branch 'nd/diffstat-gramnum' into maint
Browse files Browse the repository at this point in the history
* nd/diffstat-gramnum:
  Use correct grammar in diffstat summary line
  • Loading branch information
Junio C Hamano committed Feb 21, 2012
2 parents f3ccea8 + 7f81463 commit 093b194
Show file tree
Hide file tree
Showing 69 changed files with 168 additions and 118 deletions.
2 changes: 1 addition & 1 deletion Documentation/gitcore-tutorial.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1004,7 +1004,7 @@ Updating from ae3a2da... to a80b4aa....
Fast-forward (no commit created; -m option ignored)
example | 1 +
hello | 1 +
2 files changed, 2 insertions(+), 0 deletions(-)
2 files changed, 2 insertions(+)
----------------

Because your branch did not contain anything more than what had
Expand Down
4 changes: 2 additions & 2 deletions Documentation/gittutorial-2.txt
Original file line number Diff line number Diff line change
Expand Up @@ -34,12 +34,12 @@ $ echo 'hello world' > file.txt
$ git add .
$ git commit -a -m "initial commit"
[master (root-commit) 54196cc] initial commit
1 files changed, 1 insertions(+), 0 deletions(-)
1 file changed, 1 insertion(+)
create mode 100644 file.txt
$ echo 'hello world!' >file.txt
$ git commit -a -m "add emphasis"
[master c4d59f3] add emphasis
1 files changed, 1 insertions(+), 1 deletions(-)
1 file changed, 1 insertion(+), 1 deletion(-)
------------------------------------------------

What are the 7 digits of hex that git responded to the commit with?
Expand Down
3 changes: 2 additions & 1 deletion builtin/apply.c
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
#include "builtin.h"
#include "string-list.h"
#include "dir.h"
#include "diff.h"
#include "parse-options.h"

/*
Expand Down Expand Up @@ -3241,7 +3242,7 @@ static void stat_patch_list(struct patch *patch)
show_stats(patch);
}

printf(" %d files changed, %d insertions(+), %d deletions(-)\n", files, adds, dels);
print_stat_summary(stdout, files, adds, dels);
}

static void numstat_patch_list(struct patch *patch)
Expand Down
56 changes: 51 additions & 5 deletions diff.c
Original file line number Diff line number Diff line change
Expand Up @@ -1322,6 +1322,55 @@ static void fill_print_name(struct diffstat_file *file)
file->print_name = pname;
}

int print_stat_summary(FILE *fp, int files, int insertions, int deletions)
{
struct strbuf sb = STRBUF_INIT;
int ret;

if (!files) {
assert(insertions == 0 && deletions == 0);
return fputs(_(" 0 files changed\n"), fp);
}

strbuf_addf(&sb,
Q_(" %d file changed", " %d files changed", files),
files);

/*
* For binary diff, the caller may want to print "x files
* changed" with insertions == 0 && deletions == 0.
*
* Not omitting "0 insertions(+), 0 deletions(-)" in this case
* is probably less confusing (i.e skip over "2 files changed
* but nothing about added/removed lines? Is this a bug in Git?").
*/
if (insertions || deletions == 0) {
/*
* TRANSLATORS: "+" in (+) is a line addition marker;
* do not translate it.
*/
strbuf_addf(&sb,
Q_(", %d insertion(+)", ", %d insertions(+)",
insertions),
insertions);
}

if (deletions || insertions == 0) {
/*
* TRANSLATORS: "-" in (-) is a line removal marker;
* do not translate it.
*/
strbuf_addf(&sb,
Q_(", %d deletion(-)", ", %d deletions(-)",
deletions),
deletions);
}
strbuf_addch(&sb, '\n');
ret = fputs(sb.buf, fp);
strbuf_release(&sb);
return ret;
}

static void show_stats(struct diffstat_t *data, struct diff_options *options)
{
int i, len, add, del, adds = 0, dels = 0;
Expand Down Expand Up @@ -1475,9 +1524,7 @@ static void show_stats(struct diffstat_t *data, struct diff_options *options)
extra_shown = 1;
}
fprintf(options->file, "%s", line_prefix);
fprintf(options->file,
" %d files changed, %d insertions(+), %d deletions(-)\n",
total_files, adds, dels);
print_stat_summary(options->file, total_files, adds, dels);
}

static void show_shortstats(struct diffstat_t *data, struct diff_options *options)
Expand Down Expand Up @@ -1507,8 +1554,7 @@ static void show_shortstats(struct diffstat_t *data, struct diff_options *option
options->output_prefix_data);
fprintf(options->file, "%s", msg->buf);
}
fprintf(options->file, " %d files changed, %d insertions(+), %d deletions(-)\n",
total_files, adds, dels);
print_stat_summary(options->file, total_files, adds, dels);
}

static void show_numstat(struct diffstat_t *data, struct diff_options *options)
Expand Down
3 changes: 3 additions & 0 deletions diff.h
Original file line number Diff line number Diff line change
Expand Up @@ -324,4 +324,7 @@ extern struct userdiff_driver *get_textconv(struct diff_filespec *one);

extern int parse_rename_score(const char **cp_p);

extern int print_stat_summary(FILE *fp, int files,
int insertions, int deletions);

#endif /* DIFF_H */
2 changes: 1 addition & 1 deletion t/t1200-tutorial.sh
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,7 @@ Updating VARIABLE..VARIABLE
FASTFORWARD (no commit created; -m option ignored)
example | 1 +
hello | 1 +
2 files changed, 2 insertions(+), 0 deletions(-)
2 files changed, 2 insertions(+)
EOF

test_expect_success 'git resolve' '
Expand Down
2 changes: 1 addition & 1 deletion t/t3300-funny-names.sh
Original file line number Diff line number Diff line change
Expand Up @@ -167,7 +167,7 @@ test_expect_success TABS_IN_FILENAMES 'git diff-tree delete with-funny' \
test_expect_success TABS_IN_FILENAMES 'setup expect' '
cat >expected <<\EOF
"tabs\t,\" (dq) and spaces"
1 files changed, 0 insertions(+), 0 deletions(-)
1 file changed, 0 insertions(+), 0 deletions(-)
EOF
'

Expand Down
12 changes: 6 additions & 6 deletions t/t3508-cherry-pick-many-commits.sh
Original file line number Diff line number Diff line change
Expand Up @@ -38,13 +38,13 @@ test_expect_success 'cherry-pick first..fourth works' '
cat <<-\EOF >expected &&
[master OBJID] second
Author: A U Thor <author@example.com>
1 files changed, 1 insertions(+), 0 deletions(-)
1 file changed, 1 insertion(+)
[master OBJID] third
Author: A U Thor <author@example.com>
1 files changed, 1 insertions(+), 0 deletions(-)
1 file changed, 1 insertion(+)
[master OBJID] fourth
Author: A U Thor <author@example.com>
1 files changed, 1 insertions(+), 0 deletions(-)
1 file changed, 1 insertion(+)
EOF
git checkout -f master &&
Expand All @@ -64,15 +64,15 @@ test_expect_success 'cherry-pick --strategy resolve first..fourth works' '
Trying simple merge.
[master OBJID] second
Author: A U Thor <author@example.com>
1 files changed, 1 insertions(+), 0 deletions(-)
1 file changed, 1 insertion(+)
Trying simple merge.
[master OBJID] third
Author: A U Thor <author@example.com>
1 files changed, 1 insertions(+), 0 deletions(-)
1 file changed, 1 insertion(+)
Trying simple merge.
[master OBJID] fourth
Author: A U Thor <author@example.com>
1 files changed, 1 insertions(+), 0 deletions(-)
1 file changed, 1 insertion(+)
EOF
git checkout -f master &&
Expand Down
4 changes: 2 additions & 2 deletions t/t3903-stash.sh
Original file line number Diff line number Diff line change
Expand Up @@ -444,7 +444,7 @@ test_expect_success 'stash show - stashes on stack, stash-like argument' '
git reset --hard &&
cat >expected <<-EOF &&
file | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
1 file changed, 1 insertion(+)
EOF
git stash show ${STASH_ID} >actual &&
test_cmp expected actual
Expand Down Expand Up @@ -482,7 +482,7 @@ test_expect_success 'stash show - no stashes on stack, stash-like argument' '
git reset --hard &&
cat >expected <<-EOF &&
file | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
1 file changed, 1 insertion(+)
EOF
git stash show ${STASH_ID} >actual &&
test_cmp expected actual
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ $ git diff-tree --cc --patch-with-stat --summary master
59d314ad6f356dd08601a4cd5e530381da3e3c64
dir/sub | 2 ++
file0 | 3 +++
2 files changed, 5 insertions(+), 0 deletions(-)
2 files changed, 5 insertions(+)

diff --cc dir/sub
index cead32e,7289e35..992913c
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ c7a2ab9e8eac7b117442a607d5a9b3950ae34d5a
dir/sub | 2 ++
file0 | 3 +++
file3 | 4 ++++
3 files changed, 9 insertions(+), 0 deletions(-)
3 files changed, 9 insertions(+)
create mode 100644 file3

diff --git a/dir/sub b/dir/sub
Expand Down
2 changes: 1 addition & 1 deletion t/t4013/diff.diff-tree_--cc_--patch-with-stat_master
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ $ git diff-tree --cc --patch-with-stat master
59d314ad6f356dd08601a4cd5e530381da3e3c64
dir/sub | 2 ++
file0 | 3 +++
2 files changed, 5 insertions(+), 0 deletions(-)
2 files changed, 5 insertions(+)

diff --cc dir/sub
index cead32e,7289e35..992913c
Expand Down
2 changes: 1 addition & 1 deletion t/t4013/diff.diff-tree_--cc_--stat_--summary_master
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@ $ git diff-tree --cc --stat --summary master
59d314ad6f356dd08601a4cd5e530381da3e3c64
dir/sub | 2 ++
file0 | 3 +++
2 files changed, 5 insertions(+), 0 deletions(-)
2 files changed, 5 insertions(+)
$
2 changes: 1 addition & 1 deletion t/t4013/diff.diff-tree_--cc_--stat_--summary_side
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@ c7a2ab9e8eac7b117442a607d5a9b3950ae34d5a
dir/sub | 2 ++
file0 | 3 +++
file3 | 4 ++++
3 files changed, 9 insertions(+), 0 deletions(-)
3 files changed, 9 insertions(+)
create mode 100644 file3
$
2 changes: 1 addition & 1 deletion t/t4013/diff.diff-tree_--cc_--stat_master
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@ $ git diff-tree --cc --stat master
59d314ad6f356dd08601a4cd5e530381da3e3c64
dir/sub | 2 ++
file0 | 3 +++
2 files changed, 5 insertions(+), 0 deletions(-)
2 files changed, 5 insertions(+)
$
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ $ git diff-tree --pretty=oneline --root --patch-with-stat initial
dir/sub | 2 ++
file0 | 3 +++
file2 | 3 +++
3 files changed, 8 insertions(+), 0 deletions(-)
3 files changed, 8 insertions(+)

diff --git a/dir/sub b/dir/sub
new file mode 100644
Expand Down
2 changes: 1 addition & 1 deletion t/t4013/diff.diff-tree_--pretty_--patch-with-stat_side
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Date: Mon Jun 26 00:03:00 2006 +0000
dir/sub | 2 ++
file0 | 3 +++
file3 | 4 ++++
3 files changed, 9 insertions(+), 0 deletions(-)
3 files changed, 9 insertions(+)

diff --git a/dir/sub b/dir/sub
index 35d242b..7289e35 100644
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Date: Mon Jun 26 00:00:00 2006 +0000
dir/sub | 2 ++
file0 | 3 +++
file2 | 3 +++
3 files changed, 8 insertions(+), 0 deletions(-)
3 files changed, 8 insertions(+)

diff --git a/dir/sub b/dir/sub
new file mode 100644
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Date: Mon Jun 26 00:00:00 2006 +0000
dir/sub | 2 ++
file0 | 3 +++
file2 | 3 +++
3 files changed, 8 insertions(+), 0 deletions(-)
3 files changed, 8 insertions(+)
create mode 100644 dir/sub
create mode 100644 file0
create mode 100644 file2
Expand Down
2 changes: 1 addition & 1 deletion t/t4013/diff.diff-tree_--pretty_--root_--stat_initial
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,5 @@ Date: Mon Jun 26 00:00:00 2006 +0000
dir/sub | 2 ++
file0 | 3 +++
file2 | 3 +++
3 files changed, 8 insertions(+), 0 deletions(-)
3 files changed, 8 insertions(+)
$
2 changes: 1 addition & 1 deletion t/t4013/diff.diff-tree_--root_--patch-with-stat_initial
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ $ git diff-tree --root --patch-with-stat initial
dir/sub | 2 ++
file0 | 3 +++
file2 | 3 +++
3 files changed, 8 insertions(+), 0 deletions(-)
3 files changed, 8 insertions(+)

diff --git a/dir/sub b/dir/sub
new file mode 100644
Expand Down
2 changes: 1 addition & 1 deletion t/t4013/diff.diff-tree_-c_--stat_--summary_master
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@ $ git diff-tree -c --stat --summary master
59d314ad6f356dd08601a4cd5e530381da3e3c64
dir/sub | 2 ++
file0 | 3 +++
2 files changed, 5 insertions(+), 0 deletions(-)
2 files changed, 5 insertions(+)
$
2 changes: 1 addition & 1 deletion t/t4013/diff.diff-tree_-c_--stat_--summary_side
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@ c7a2ab9e8eac7b117442a607d5a9b3950ae34d5a
dir/sub | 2 ++
file0 | 3 +++
file3 | 4 ++++
3 files changed, 9 insertions(+), 0 deletions(-)
3 files changed, 9 insertions(+)
create mode 100644 file3
$
2 changes: 1 addition & 1 deletion t/t4013/diff.diff-tree_-c_--stat_master
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@ $ git diff-tree -c --stat master
59d314ad6f356dd08601a4cd5e530381da3e3c64
dir/sub | 2 ++
file0 | 3 +++
2 files changed, 5 insertions(+), 0 deletions(-)
2 files changed, 5 insertions(+)
$
2 changes: 1 addition & 1 deletion t/t4013/diff.diff_--patch-with-stat_-r_initial..side
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ $ git diff --patch-with-stat -r initial..side
dir/sub | 2 ++
file0 | 3 +++
file3 | 4 ++++
3 files changed, 9 insertions(+), 0 deletions(-)
3 files changed, 9 insertions(+)

diff --git a/dir/sub b/dir/sub
index 35d242b..7289e35 100644
Expand Down
2 changes: 1 addition & 1 deletion t/t4013/diff.diff_--patch-with-stat_initial..side
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ $ git diff --patch-with-stat initial..side
dir/sub | 2 ++
file0 | 3 +++
file3 | 4 ++++
3 files changed, 9 insertions(+), 0 deletions(-)
3 files changed, 9 insertions(+)

diff --git a/dir/sub b/dir/sub
index 35d242b..7289e35 100644
Expand Down
2 changes: 1 addition & 1 deletion t/t4013/diff.diff_--stat_initial..side
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@ $ git diff --stat initial..side
dir/sub | 2 ++
file0 | 3 +++
file3 | 4 ++++
3 files changed, 9 insertions(+), 0 deletions(-)
3 files changed, 9 insertions(+)
$
2 changes: 1 addition & 1 deletion t/t4013/diff.diff_-r_--stat_initial..side
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@ $ git diff -r --stat initial..side
dir/sub | 2 ++
file0 | 3 +++
file3 | 4 ++++
3 files changed, 9 insertions(+), 0 deletions(-)
3 files changed, 9 insertions(+)
$
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ Content-Transfer-Encoding: 8bit
dir/sub | 2 ++
file0 | 3 +++
file3 | 4 ++++
3 files changed, 9 insertions(+), 0 deletions(-)
3 files changed, 9 insertions(+)
create mode 100644 file3


Expand Down
4 changes: 2 additions & 2 deletions t/t4013/diff.format-patch_--attach_--stdout_initial..master
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ Content-Transfer-Encoding: 8bit
---
dir/sub | 2 ++
file1 | 3 +++
2 files changed, 5 insertions(+), 0 deletions(-)
2 files changed, 5 insertions(+)
create mode 100644 file1


Expand Down Expand Up @@ -124,7 +124,7 @@ Content-Transfer-Encoding: 8bit
dir/sub | 2 ++
file0 | 3 +++
file3 | 4 ++++
3 files changed, 9 insertions(+), 0 deletions(-)
3 files changed, 9 insertions(+)
create mode 100644 file3


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ Content-Transfer-Encoding: 8bit
---
dir/sub | 2 ++
file1 | 3 +++
2 files changed, 5 insertions(+), 0 deletions(-)
2 files changed, 5 insertions(+)
create mode 100644 file1


Expand Down
2 changes: 1 addition & 1 deletion t/t4013/diff.format-patch_--attach_--stdout_initial..side
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ Content-Transfer-Encoding: 8bit
dir/sub | 2 ++
file0 | 3 +++
file3 | 4 ++++
3 files changed, 9 insertions(+), 0 deletions(-)
3 files changed, 9 insertions(+)
create mode 100644 file3


Expand Down
Loading

0 comments on commit 093b194

Please sign in to comment.