Issue #6870 open

Large pushes result in strange email diff mails (BB-8041)

Jeff Squyres
created an issue

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:

  1. 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.

  2. If we are pushing just the single, very large commit, we get an email diff back saying:

0 new commits in <repo name>:

Comments (4)

  1. Zachary Davis [Atlassian] staff

    Hi Jeff,

    Currently if a diff is too large, we do exactly what you're seeing -- render as much as we can and then fail silently on the rest, though you should see the text "This diff is so big that we needed to truncate the remainder" in any email that is truncated.

    We're currently working to improve the diff service to handle large diffs better and better indicate when diffs have been truncated, but there will always be some practical limits to the size of diffs we will render. We don't want to send (and I imagine you don't want to receive) an email with a 4GB diff in it.

    I'll add this to the backlog for reference as we work to improve services.

    Cheers, Zach

  2. Jeff Squyres reporter

    Zach --

    What you say is perfectly reasonable -- I wouldn't want a giant diff in email, either.

    The problem is that the commit is not shown at all in the email; not even with a "This diff is so big..." kind of notice.

    It would just be nice to have some kind of notice in the email (even if it doesn't show the diff) that the commit occurred. Right now, you either get nothing (for case 1, above) or a cryptic "0 new commits" message in the email (for case 2, above).

  3. Log in to comment