I said this in a mail regarding some porting work, but I think it's of more
general relevance to committers at large. I'm a fan of integrating small,
incremental changes as early as possible rather than waiting till everything is
complete because
- it's easier to localize problems in small changes.
- the earlier a change is committed the more it gets tested.
- it tends to reduce the probability and scope of conflicts.
- it tends to reduce the scale of "oh crap I forgot about THAT" mistakes by
identifying some problems early
Basically, if you have a patch that does something useful, adds tests for new
functionalit and doesn't break anything else, IMO it's ready to commit. I find
it's usually worth the trouble to break big tasks into small incremental changes.
I understand that some jobs (e.g. porting work) are harder to break down this
way and it may not suit everybody's style, so I'm not telling anybody what to
do. I'm just saying if ever the thought "maybe I could commit this bit
separately" crosses your mind, I'm rooting for it.
Cheers,
Alan.