If you want to review remote changes from Mercurial offline you cannot use hg incoming. For sure there is a nice way to do it. So here is what I do to get changes from a repository to review them later without pulling them into my repo before reviewing. It also has the advantage that you can review changesets that include a given file. This is not possible with hg incoming.
Read the incoming changes and save them in a bundle file:
$ hg incoming --bundle incoming.bundle http://selenic.com/hg
Now you can disconnect and review them offline.
$ hg -R incoming.bundle log --no-merges -p -- hgext/bookmarks.py (log pops up)
The -R incoming.bundle option tells Mercurial to use the bundle as an overlay for the current repository. The –no-merges option tells Mercurial to not display merges (which I usually use for reviewing patches) and the -p option is there to display the applied patches in the output. I use — hgext/bookmarks.py to display only changesets related to the bookmark extension.
Everything’s good, let’s pull it:
$ hg pull incoming.bundle pulling from incoming.bundle searching for changes adding changesets adding manifests adding file changes added 113 changesets with 281 changes to 204 files (+1 heads) (run 'hg heads' to see heads, 'hg merge' to merge)