HgView removes the header of the displayed diff assuming that the content data starts this ``os.linesep+'@@'``. But the newline chars may be different from the system linesep. By this way the entire diff is interpreted as the header resulting into an empty diff body.
Use a more clever text-matching tool ``re`` with the pattern ``^@@.*@@$`` which correspond to a hunk header --- the first hunk corresponds to the end of the diff header.