LoginSignup
5

More than 5 years have passed since last update.

ブランチを変更したときにspringが止まる問題をgit hookで防ぐ

Last updated at Posted at 2015-12-08

発端:rspecがいつまでも動かない

今年の秋から参加したRails 4.2で開発しているプロジェクトで、なぜかrspecを走らせてもいつまでもスタート現象が起きました。だいたいこの手の原因はspringと分かっていたので、その都度kill & spring stopしてやり過ごしていました。

git checkout後が怪しい

何度も上記現象に会う中、原因が分からずに居たのですが、どうやらgitでブランチを切り替えたときに発生することがわかってきました。調べてみると、プロジェクトにSpring hangs a lotという同様の症状に関するissueが上がっていました。

対策:post-checkout hookを使う

原因が分かれば打ち手を考えることができます。今回は簡単で、git hookを使ってcheckout時に毎回springを止めればOKです。ワーキングコピーにある.git/hooksの下にpost-checkoutというファイルを作り、以下のように書きます。

#!/bin/bash
bin/spring stop

これでspringを手動で止めなくても良くなりました。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5