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@

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@ app/views/index.html.erb


hg push ssh://peter@

Update: somebody said it is not possible with Mercurial, Git, or SVN… but according to, 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?