Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Find the first broken commit without having to learn git bisect

branch: master

v0.3.1

latest commit 7ae3710fb0
Michael Grosser authored July 12, 2013
Octocat-spinner-32 bin libify and add proper version bumping October 05, 2012
Octocat-spinner-32 lib v0.3.1 July 12, 2013
Octocat-spinner-32 spec
Octocat-spinner-32 .travis.yml add travis October 02, 2012
Octocat-spinner-32 Gemfile bundler tests May 26, 2013
Octocat-spinner-32 Gemfile.lock v0.3.1 July 12, 2013
Octocat-spinner-32 Rakefile add bump November 02, 2012
Octocat-spinner-32 Readme.md add --start option November 02, 2012
Octocat-spinner-32 git-autobisect.gemspec update files + source May 26, 2013
Readme.md

Find the first broken commit without having to learn git bisect.

  • automagically bundles if necessary
  • stops at first bad commit
  • takes binary steps (HEAD~1, HEAD~2, HEAD~4, HEAD~8)

Install

gem install git-autobisect

Usage

cd your project
# run a test that has a non-0 exit status
git-autobisect 'rspec spec/models/user_spec.rb'
... grab a coffee ...
---> The first bad commit is a4328fa
git show

Options

-m, --max N                    Inspect commits between HEAD..HEAD~<max>
-s, --start N                  Use N (instead of 1) as initial step and keep muliplying by 2

TIPS

  • do not fail if test file is missing [ ! -f spec/my_spec.rb ] || rspec spec/my_spec.rb

TODO

  • option for max-step-size so you can use a finer grained approach
  • option to disable bundle check || bundle injection
  • option to consider a build failed if it finishes faster then x seconds

Development

  • bundle && bundle exec rake
  • Tests run a lot faster without bundle exec

Author

Michael Grosser
michael@grosser.it
License: MIT
Build Status

Something went wrong with that request. Please try again.