Mercurial: update to a revision, but not modify local files
You can use hg debugsetparents
to set the parent revision of your working copy.
You might find this article useful. The original link no longer exists, so it now references the Internet Archive's copy:
https://web.archive.org/web/20170805042314/http://hgtip.com/tips/advanced/2010-04-23-debug-command-tricks
In particular, to "reparent" your current working directory, issue:
hg debugsetparent 20
hg debugrebuildstate