You cannot do this. After you pulled (and fetching is just pull + either updating or merging), there is no record of what you had before pushing and what you just got from the pull.
You must do an hg incoming before pulling to see what you get.
Also stop using fetch . Pulling, updating, and merging events are completely separate, and their execution in one command provides an inadequate error message and simply confuses things. The command is disabled by default, and it talks about uninstalling completely. Merging is coding, and it should not be hidden.
Expanding to show cases you cannot cover
If before retrieving your story this is:
[A]-[B]-[C]
and you (against all the tips) fetch and get [D] , you now have:
[A]-[B]-[C]-[D]
And you can see exactly what's new:
hg diff -r tip-1
or using:
hg diff -r "parent(tip)"
But if you start again with A, B, C, you will get and get D, E, giving this:
[A]-[B]-[C]-[D]-[E]
there is no command that you can run to see “what has changed” without writing [C] to the note earlier.
If, on the other hand, your repo started to look like this:
[A]-[B] \ -[C]
and after extracting you will get the following:
[A]-[B]-[D] \ -[C]-[E]
there is no single team that tells you "what has changed." Similarly, if before stretching your repo it looked like this:
[A]-[B]-[C]
and after receiving you received the following:
[A]-[B]-[C]-[E]-[F] \ / -[D]-------/
where [F] is a new ill-conceived automatic merge change sample, then created by the command:
hg diff -r C
will tell you what's new, but there is no way to search for "C" without writing it down earlier.