Branch your build system

Migrated. Originally posted: 2008-11-26

I have worked on build systems at 4 companies. Some were branched, some were not. Some had web inerfaces, some were command-line only, some were cron-only.

A build system looks different than other software. It “only” has to build your software. Once it’s “done”, it looks like it won’t change.

Yeah, right.

And even if it does change, add a few config files and the same system can deal with old and new versions of your builds. At least only the recent old ones, because you never need to re-build anything older than what you support, and that only goes out a couple of revisions.

Yeah, right.

When you need to make wholesale changes to streamline parts of your build, clean up old parts that you don’t need to use anymore, you know, when the normal things that happen to normal software happen to your build system, then you will have to make it so.

Branch early. Branch to match the software you are building. Just branch.

Advertisements

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