--- a/hgext/churn.py Sat Aug 22 19:40:15 2009 +0200
+++ b/hgext/churn.py Wed Aug 26 13:05:51 2009 +0200
@@ -148,7 +148,8 @@
sortkey = ((not opts.get('sort')) and (lambda x: -x[1]) or None)
rate.sort(key=sortkey)
- maxcount = float(max([v for k, v in rate]))
+ # Be careful not to have a zero maxcount (issue833)
+ maxcount = float(max([v for k, v in rate])) or 1.0
maxname = max([len(k) for k, v in rate])
ttywidth = util.termwidth()
--- a/tests/test-churn Sat Aug 22 19:40:15 2009 +0200
+++ b/tests/test-churn Wed Aug 26 13:05:51 2009 +0200
@@ -50,3 +50,13 @@
echo % churn by hour
hg churn -f '%H' -s
+cd ..
+
+# issue 833: ZeroDivisionError
+hg init issue-833
+cd issue-833
+touch foo
+hg ci -Am foo
+# this was failing with a ZeroDivisionError
+hg churn
+cd ..
--- a/tests/test-churn.out Sat Aug 22 19:40:15 2009 +0200
+++ b/tests/test-churn.out Wed Aug 26 13:05:51 2009 +0200
@@ -28,3 +28,5 @@
09 2 *********************************
12 4 ******************************************************************
13 1 ****************
+adding foo
+test 0