'shelve -I' deletes changes which aren't shelved
I'd like to be able to shelve only some of the files that have been changed. //hg shelve -I// does this -- but it throws away all the changes that don't make it into the patch. For example:
hg status M file1 M file2 M file3 ? file4
hg shelve -I file1 file1.patch patch file1.patch shelved
hg status ? file4
hg unshelve M file1 ? file4 }}}
This behavior is surprising, and loses work.
MQ has a similar issue with //hg qrefresh// if you don't use -s. Is there a similar option I should be using?