How to locate and recover a deleted file

If you know the exact path for the file, you can do something like :

hg log -l 1 path/to/foo.txt

This will show you the last changeset where foo.txt was modified, so you will be able to restore the file from this revision.

Once you have the right revision, you can simply do :

hg revert -r <my revision> path/to/foo.txt
hg commit -m "add the foo.txt file again"

Using revsets:

hg log -r "removes('path_to_file')"

Where path_to_file can be anything documented in hg help patterns, including an exact path, a glob or a regular expression.