when to commit/push? average commits per day?
i am new to version control systems. I began with mercurial. I am curious as to when do i commit a change? i make all kind of changes in the code through out the day (since working part time) some are small some are big and some are simple typo correction.

I would like to know when do YOU commit/push an updated file?
here is what i have so far.

 * DO NOT commit for typo corrections.
 * DO commit for adding a few lines of code or a few new functions but DO NOT push
 * DO commit AND push for big changes to code like after few hours of work (i.e push only once at the end of the day [security problems and emergencies are obvious exceptions])

since no one actually taught me how to do all this i came to above 'list' from my own common sense. But is there any good practice as to when and when not to commit or push? how many commits/pushes a day are average? should i commit after adding every new function or semi-feature to keep track of the changes i made?
when to commit/push? average commits per day?
===

i am new to version control systems. I began with mercurial. I am curious as to when do i commit a change? i make all kind of changes in the code through out the day (since working part time) some are small some are big and some are simple typo correction.

I would like to know when do YOU commit/push an updated file?
here is what i have so far.

 * DO NOT commit for typo corrections.
 * DO commit for adding a few lines of code or a few new functions but DO NOT push
 * DO commit AND push for big changes to code like after few hours of work (i.e push only once at the end of the day [security problems and emergencies are obvious exceptions])

since no one actually taught me how to do all this i came to above 'list' from my own common sense. But is there any good practice as to when and when not to commit or push? how many commits/pushes a day are average? should i commit after adding every new function or semi-feature to keep track of the changes i made?