homebrew-cask/doc/HACKING.md at master · phinze/homebrew-caskにhomebrew-caskをforkしてgitのプライベートレポジトリで開発するときの切り替え手順が説明されています。
gitのプライベートレポジトリ内のdeveloper/bin/develop_brew_cask
を実行すると開発モードになって/usr/local/以下のbrew-caskの一部のディレクトリがgitのプライベートレポジトリ内のディレクトリへのシンボリックリンクになります。
gitのプライベートレポジトリ内のdeveloper/bin/production_brew_cask
を実行するとプロダクションモードに戻ります。
開発モードの状態だと、brew updateは安全に実行できないという注意書きがあります。私の場合、開発モードにしたまま、うっかり忘れてやってしまいそうです。
そこで、zimbatm/direnvを使って切り替えをするようにしてみました。
以下の説明ではgitプライベートレポジトリが~/mysrc/homebrew-caskとします。
if ! brew list brew-cask | grep -q production_rubylib; then
./developer/bin/develop_brew_cask
fi
if brew list brew-cask | grep -q production_rubylib; then
~/mysrc/homebrew-cask/developer/bin/production_brew_cask
fi
これで~/mysrc/homebrew-caskにcdしたら開発モードになり、cd ..などで外に出るとプロダクションモードに戻ります。
ただ、他でシェルを開くとプロダクションモードになってしまうので、その場合は~/mysrc/homebrew-caskで開発を続けるときに
. .envrc
として開発モードに切り替える必要があります。ちょっと面倒な気もしますが、間違って開発モードのままbrew updateするよりはいいので、とりあえずこれで使ってみます。