diff -r 5adb52524779 -r cbe13e6bdc34 mercurial/patch.py --- a/mercurial/patch.py Tue May 24 17:48:16 2011 +0200 +++ b/mercurial/patch.py Thu May 26 22:51:02 2011 +0800 @@ -1672,14 +1672,15 @@ yield text def diffstatsum(stats): - maxfile, addtotal, removetotal, binary = 0, 0, 0, False + maxfile, maxtotal, addtotal, removetotal, binary = 0, 0, 0, 0, False for f, a, r, b in stats: maxfile = max(maxfile, encoding.colwidth(f)) + maxtotal = max(maxtotal, a + r) addtotal += a removetotal += r binary = binary or b - return maxfile, addtotal, removetotal, binary + return maxfile, maxtotal, addtotal, removetotal, binary def diffstatdata(lines): diffre = re.compile('^diff .*-r [a-z0-9]+\s(.*)$') @@ -1712,8 +1713,7 @@ def diffstat(lines, width=80, git=False): output = [] stats = diffstatdata(lines) - maxname, totaladds, totalremoves, hasbinary = diffstatsum(stats) - maxtotal = totaladds + totalremoves + maxname, maxtotal, totaladds, totalremoves, hasbinary = diffstatsum(stats) countwidth = len(str(maxtotal)) if hasbinary and countwidth < 3: