[PATCH] git-apply: Don't barf when --stat'ing a diff with no line changes.
- From
- Sven Verdoolaege <skimo@liacs.nl>
- Date
- Jun 21, 2005, 15:14 UTC
- Message-ID
- <20050621151430.GA26628@pc117b.liacs.nl>
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 100755 sh-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 <skimo@liacs.nl> Tue, 21 Jun 2005 17:09:27 +0200 committer Sven Verdoolaege <skimo@liacs.nl> 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);