Using Mercurial (hg), how to push just one file or one directory out?

Using Mercurial, we can commit one file by using

hg commit file.rb

or 1 folder

hg commit foldername

But how can we push just 1 file or 1 folder out?

The whole project can be pushed using

hg push ssh://peter@192.168.1.102//project/code/preliminary

but there seems to be no way to push out just 1 file or 1 folder?

I tried the following and they don’t work:

hg push ssh://peter@192.168.1.102//project/code/preliminary app/views/index.html.erb

or

hg push ssh://peter@192.168.1.102//project/code/preliminary/app/views/index.html.erb

Update: somebody said it is not possible with Mercurial, Git, or SVN… but according to hginit.com, it suggests that we can commit as often as we want, to keep intermediate revisions? so what if we work on 2 parts of the project, and one part we keep on committing but not fully working, and the second part we also keep on committing, and now working and we want it pushed? Then both part 1 and part 2 have to be pushed together?