[PATCH] git-apply: Don't barf when --stat'ing a diff with no line changes.
From: Sven Verdoolaege <hidden>
Date: 2016-06-15 22:42:00
Diffs with only mode changes didn't pass through git-apply --stat. E.g., sh-3.00$ cg-diff -p | cat
diff --git a/autogen.sh b/autogen.sh
old mode 100644
new mode 100755
diff --git a/cdd2polylib.pl b/cdd2polylib.pl
old mode 100644
new mode 100755sh-3.00$ cg-diff -p | git-apply --stat Floating point exception sh-3.00$ cg-diff -p | ~/src/git-linus/git-apply --stat autogen.sh | 0 cdd2polylib.pl | 0 2 files changed, 0 insertions(+), 0 deletions(-) skimo -- git-apply: Don't barf when --stat'ing a diff with no line changes. --- commit 2c796d01298b7e5bb5518927bf85aa461603a5c5 tree f80d68da66ee8c2ec1d491ef92c95e49db2016cd parent 0795495388d703dc84110a9a7917dd6ec9516bb4 author Sven Verdoolaege [off-list ref] Tue, 21 Jun 2005 17:09:27 +0200 committer Sven Verdoolaege [off-list ref] Tue, 21 Jun 2005 17:09:27 +0200 apply.c | 8 +++++--- 1 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/apply.c b/apply.c
--- a/apply.c
+++ b/apply.c@@ -751,9 +751,11 @@ static void show_stats(struct patch *pat del = patch->lines_deleted; total = add + del; - total = (total * max + max_change / 2) / max_change; - add = (add * max + max_change / 2) / max_change; - del = total - add; + if (max_change > 0) { + total = (total * max + max_change / 2) / max_change; + add = (add * max + max_change / 2) / max_change; + del = total - add; + } printf(" %-*s |%5d %.*s%.*s\n", len, name, patch->lines_added + patch->lines_deleted, add, pluses, del, minuses);