IRBとRelineはHEADで使いたいので、特定ディレクトリのものを使用して実行している。
ASDF_RUBY_VERSION=3.3.0-dev ruby -I /Users/mi/ghq/github.com/ruby/reline/lib -I /Users/mi/ghq/github.com/ruby/irb/lib /Users/mi/ghq/github.com/ruby/irb/exe/irb`
これだけだとレビューするときに「今どのブランチで実行してるんだっけ?」と思うことがあるので、ブランチ名とcommit hashも表示するようにした。
ブランチ名は git rev-parse --abbrev-ref HEAD
で、commit hashは git show --format='%h' --no-patch
で表示できる。
function irbm() { echo "IRB branch: $(cd /Users/mi/ghq/github.com/ruby/irb && git rev-parse --abbrev-ref HEAD), HEAD: $(cd /Users/mi/ghq/github.com/ruby/irb && git show --format='%h' --no-patch)" echo Reline branch: $(cd /Users/mi/ghq/github.com/ruby/reline && git rev-parse --abbrev-ref HEAD), HEAD: $(cd /Users/mi/ghq/github.com/ruby/reline && git show --format='%h' --no-patch) ASDF_RUBY_VERSION=3.3.0-dev ruby -I /Users/mi/ghq/github.com/ruby/reline/lib -I /Users/mi/ghq/github.com/ruby/irb/lib /Users/mi/ghq/github.com/ruby/irb/exe/irb } alias irbm='irbm'
実行するとこのように表示される。
❯ \irbm IRB branch: master, HEAD: c2e7002 Reline branch: master, HEAD: ffe81c8 irb(main):001:0>