The shelve extension provides the shelve command to let you choose which parts of the changes in a working directory you'd like to set aside temporarily, at the granularity of patch hunks. You can later restore the shelved patch hunks using the unshelve command.
The shelve extension has been adapted from Mercurial's RecordExtension.
See hg shelve --help for the complete list of commands.
For more information please visit the hgshelve website.
Like Mercurial, hgshelve comes with regression test suite to verify its core functionality as changes are being makde. To run this test, you need the mercurial source package, and execute hgshelve's test suite via the Mercurial's run_test.py:
$ cd your-hgshelve-repo $ /path/to/hg-repo/tests/run_test.py *.t