Should checkins be small steps or complete features?

Posted by Caspin on Stack Overflow See other posts from Stack Overflow or by Caspin
Published on 2010-06-14T22:41:08Z Indexed on 2010/06/14 22:42 UTC
Read the original article Hit count: 215

Filed under:
|
|
|
|

Two of version controls uses seem to dictate different checkin styles.

  • distibution centric: changesets will generally reflect a complete feature. In general these checkins will be larger. This style is more user/maintainer friendly.

  • rollback centric: changesets will be individual small steps so the history can function like an incredibly powerful undo. In general these checkins will be smaller. This style is more developer friendly.

I like to use my version control as really powerful undo while while I banging away at some stubborn code/bug. In this way I'm not afraid to make drastic changes just to try out a possible solution. However, this seems to give me a fragmented file history with lots of "well that didn't work" checkins.

If instead I try to have my changeset reflect complete features I loose the use of my version control software for experimentation. However, it is much easier for user/maintainers to figure out how the code is evolving. Which has great advantages for code reviews, managing multiple branches, etc.

So what's a developer to do? checkin small steps or complete features?

© Stack Overflow or respective owner

Related posts about best-practices

Related posts about git