We follow the same process with Subtext, though we use private branches rather than private repositories since we're still using positively archaic centralized source control (Subversion), not like you cutting edge distributed source control people. ;) The concept and process is the same though.
In general, we avoid doing any half-ass checkins to the main repository. We also have a continuous integration server which is publicly available: http://build.subtextproject.com/ccnet/ViewFarmReport.aspx
If you go there right now, you'll even see that our trunk is broken due to a 32bit/64bit issue I'm in the middle of fixing. Bad Phil! Bad! :) I think a CI server is an absolute necessity.
From: email@example.com [mailto:firstname.lastname@example.org] On Behalf Of Miguel de Icaza
Sent: Thursday, August 13, 2009 8:42 AM
To: Noah Hart
Subject: Re: Code Review process
Do you have experience with your mono projects about how best to add multiple development paths here?
Many of our developers keep private trees and forks while they develop a feature, but at the end of the day, we need to merge all of it in the central repository.
The central repository is where the official release comes from, where the testing is done, where the packaging is done, so there is always a strong incentive to get the patches back up.