A DVCS does not reduce problems in code

Let’s get this out of the way quickly.
Using any VCS requires you to do merges. The more frequently you commit, the less merge pain you have. With a distributed VCS like git or mercurial, you also have to fetch from a remote repository, merge and push. Merging does not disappear, so deal with it.

Why am I stating the obvious? Because I have seen a couple of cases now where people have switched from centralised VCS (cvs, svn style) to distributed and believed that it will help them reduce problems in code.  The thing that helps you reduce problems is tests. Running your tests under a CI server just creates a tighter, automated feedback loop. Of course, you have to update/fetch, merge, commit/push for your CI to be useful.

Hmmm, did you see what flashed by?  Your CI server does not give you a tighter feedback loop; it is frequent commits that gives you a really tight feedback loop.  The CI server will sit idle for as long as you don’t commit and push.

One thought on “A DVCS does not reduce problems in code

  1. … but I just want to finish that next story before I commit … I’m just getting into my stride and you need me stop and do all this committing and having to think about what everyone else is doing … I felt so much more productive as a developer doing my projects at college

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s