<p>How often should I commit changes to source control ? After every small feature, or only for large features ?</p>

<p>I'm working on a project and have a long-term feature to implement. Currently, I'm committing after every chunk of work, i.e. every sub-feature implemented and bug fixed. I even commit after I've added a new chunk of tests for some feature after discovering a bug.</p>

<p>However, I'm concerned about this pattern. In a productive day of work I might make 10 commits. Given that I'm using Subversion, these commits affect the whole repository, so I wonder if it indeed is a good practice to make so many ?</p>

I like to commit changes every 30-60 minutes, as long as it compiles cleanly and there are no regressions in unit tests.