threads / patch / 1000

patchgit-apply: Don't barf when --stat'ing a diff with no line changes.

Subject: [PATCH] git-apply: Don't barf when --stat'ing a diff with no line changes.

## tl;dr

2 messages between Jun 21, 2005 and Jun 21, 2005. Diffs are folded; open one to read it.

replies: 1people: 2as markdown or json

Sven Verdoolaege· Jun 21, 2005, 15:14 UTC · lore

Diffs with only mode changes didn't pass through git-apply --stat. E.g.,

sh-3.00$ cg-diff -p | cat
Show changes to 3 files +5 −4

autogen.sh, cdd2polylib.pl, apply.c

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);
Linus Torvalds· Jun 21, 2005, 15:36 UTC · re: Sven Verdoolaege · lore

Re: [PATCH] git-apply: Don't barf when --stat'ing a diff with no line changes.

On Tue, 21 Jun 2005, Sven Verdoolaege wrote:
>
> Diffs with only mode changes didn't pass through git-apply --stat.

Heh. On ppc64, "divw 0,0" apparently just silently produces 0, so I never noticed. Thanks.

		Linus

← back to recent threads