As I mentioned, I would like it to restore deleted files as well...
Doesn't it?
Well, no, he wants it to emulate this usecase of 'cvs up':
# discard my changes in foo.pike: rm foo.pike cvs up foo.pike
basically what 'git-up;git checkout HEAD foo.pike' does.