We use the "Email Diff" service on many of our mercurial repos. It seems like this service is misbehaving when there are very lagre commits (e.g., MB or GB in size -- I don't know what the minimum size is to exhibit this problem). If we do a push a up to our mercurial bitbucket that includes a very large commit, one of two things will happen:
If we are pushing up multiple commits to bitbucket simultaneously, this very large commit will not be shown in the "Email Diff" email at all. The other commit diffs will be shown, but not the very large commit.
If we are pushing just the single, very large commit, we get an email diff back saying:
0 new commits in <repo name>: