Branch Raker

Use Branch Raker to maintain a build history for each branch. Originally created for LaTeX projects, but useful for anything that needs to be 'compiled'.

Intelligently builds the latest commit on all of your Git branches.

What is Branch Raker?

Branch Raker is implemented as a set of rake tasks. The default action will build the most recent unbuilt commit for each branch. Given access to a git repository, Branch Raker can be used to automatically maintain a build history for your project.


Add this line to your application's Gemfile:

gem 'branch_raker'

And then execute:

$ bundle

Or install it yourself as:

$ gem install branch_raker

Using Branch Raker

At the top of your Rakefile add

require 'branch_raker'
include BranchRaker

then define your make method:

module BranchRaker
  def make src_dir, out_dir
    # code that builds your project's source located in src_dir and saves the build to out_dir


$ rake

will execute the default task build:all.

Other available rake tasks include:

  • built:current lists branches with up to date builds.

  • built:stale lists branches whose latest commit has not been built.

  • (not yet implemented) build:branch[branch] builds named branch if its latest commit has not been built. If no branch given, builds current head.


Source Repository

The Branch Raker source is currently hosted at github. To clone the project run

$ git clone git://


Branch Raker is licensed under the MIT license.


This software is provided “as is” and without any express or implied warranties, including, without limitation, the implied warranties of merchantibility and fitness for a particular purpose.