This morning one of the Jenkins job went red, 5 tests were failing, and it was very difficult to find out which commit caused the break (69 commits were concerned), I used git bisect to run maven tests to find the guilty one. Here is a quick howto:
- find a stable commit (in my case it was 2ea34cf09cc83804cdcc445476bfb597c617a034)
- write a short script (myScript.sh) allowing you to run the tests:
mvn -f path/to/my/pom.xml -Dtest=MyTestClass test
- git bisect start HEAD 2ea34cf09cc83804cdcc445476bfb597c617a034
- git bisect run ./myScript.sh
That’s all, in a few runs (6 in my cases), git found out the commit causing the test failure, a simple git revert and tests were back to green !
Like many terminal geek, I have a bunch of dot rc files allowing me to configure my environment. While this is a very powerful way to setup an environment, it is painful to log in a machine and set it up like you are used to, you often discover too late your favorite alias is missing.
I found a nice way to manage this thing by browsing the github account of one of a man coming frequently to the Tours Java User Group meetings. It is commonly called dotfiles and can not be better named I found.
I forked the repository to customize it to my needs, it is now possible to define aliases and to configure the shell on a per machine basis.
To install, you will only need ruby and rake (manual install is also possible by symlinking the files) :
- cd; git clone git://github.com/CedricGatay/dotfiles.git .dotfiles
- cd .dotfiles; rake install
- logout and login, or source your .zshrc / .bashrc
Please notice that I am a zsh user, the bashrc file provided should work but it will surely need some fixes. There is no better way than digging into the source to understand and adjust it.