List SIZE of mercurial changesets?

hg log --stat is the command you're after. See this example:

$ hg log --stat

changeset:   12431:56e146c7beef
user:        flast
date:        Wed Jun 08 16:12:54 2011 +1000
summary:     Fix the frobulate to frob the knob correctly on tuesdays.

 path/to/src/frob/interface.py       |  29 ++++++++++++++++++++---------
 path/to/tests/systest_frob.py       |  14 ++++++++++++++
 2 files changed, 34 insertions(+), 9 deletions(-)

I had the same thought as @shambulator yesterday! So I've added ability to print delta size in bytes as a part of --diffstat output from my somewhat long and clean patch.py utility.

wget https://raw.githubusercontent.com/techtonik/python-patch/master/patch.py
hg diff -c tip | python patch.py --diffstat --
 codereview/views.py | 28 ++++++++++++++++++++++++++++
 index.yaml          | 10 ++++++++++
 2 files changed, 38 insertions(+), 0 deletions(-), +1267 bytes

UPD: Thanks to @Gili and @mforbes there is now a ticket for Mercurial
https://bz.mercurial-scm.org/show_bug.cgi?id=4245


Perhaps one can use hg bundle to check the size? (I have not checked how consistent this is in terms of the total repository size.)

function revsize() {
  hg bundle -r $1 --base "p1($1)+p2($1)" /dev/stdout | wc -c
}

How it works

This computes the size (in bytes) using wc -c after generating a bundle for the changes between revision REV = $1 (the first argument to the bash function) and its parents "p1(REV)+p2(REV)" (there may be two if it is a merge.) By using /dev/stdout as a file, the result is sent to standard out where it can be piped to wc -c without creating a file on disk.