Description
This affects what diffRevision you get, especially during merges across branches. Also, when a fast-forward merge happens to a branch (with changes on the other branch) and there are earlier changes on the target branch in another anonymous branch, we incorrectly use the other commit as the predecessor, even though it is not in the ancestry graph - very confusing diffs appear in the ChangeSet page.
Title was: hg - Missing merge? Commit on branch has been merged to default, but changeset diff is against last changeset committed onto default directly.
The changeset page is showing a diff from the last change on default, but a change on a branch was merged onto default between them. So the real diff should be against a merge commit. Here's the file history and offending diff