rerun.txtの中には、失敗したフィーチャのファイル名が記録されており、次にcucumberを実行する際に最初に実行されるようになっているようです。
しかも、このファイルはAll Greenになっても削除されない上、例えば何らかの事情でrerun.txtに記載されているファイルが削除されてしまった場合、ファイルが見つからずにエラーとなってしまいます。
そして、これはトピックブランチを切り替えるときによく発生し、(チームメンバーが)いつも頭を悩ませていました。
そこでgithooksですよ。
リポジトリのルートディレクトリの.git/hooks/に、post-checkoutというファイルを以下の内容で作成し実行権限を付けることで、git checkoutを実行した際にrerun.txtがあれば削除することができます。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
if [ -f rerun.txt ] | |
then | |
rm rerun.txt | |
fi |
gitには他にもフックポイントがあるのですが、全てのコマンドのpre、postに対応しているわけではないようです。
詳しくは man githooks を参照ください。