Commit early and often, that's what I say. It offers measurement and accountability. If I make a bug fix or create a feature and check it in, and things break, I know what caused the problem. If I check in 512 unrelated tasks all at the same time, and things get fucked up, then I have no idea where to point my finger. For that matter, I might even question whether things are really fucked up or if they are now working by design because of all of the changes.
Checking code in small chunk at a time ensures measurement and accountability. I guess that's why congress always lumps 512 issues together into one bill, even though they are utterly unrelated. Who in congress would want to possibly be measured or held accountable?