LoginSignup
1
0

More than 3 years have passed since last update.

ghq lookが使えなくなったのでワークアラウンド

Posted at

ghqのv1がリリースされたことに伴い、
ghq lookが使えなくなってしまったので、なんとかしました。

やりかた

  1. ghq get --look を使う
  2. ↓のShellscriptを .bashrcなどに突っ込んで今まで通りghq lookを使う
ghq() {
  if [[ $1 == "look" ]]; then
    local repo_path
    repo_path=$(command ghq list --full-path --exact $2)
    cd ${repo_path}
  else
    command ghq "$@"
  fi
}

1はタイプ数が多くてめんどいのと、公式でディレクトリの移動はcdを使用することを推奨していたので、2のshellscriptにしました。

蛇足1

ghq lookこちらにある通り
一時的なコードのチラ見のための機能で、ディレクトリの移動に使うものでは無い とのこと。
(全く知らなかった :scream:)

ghq look はあくまでも「一時的なソースコードのチラ見」のための機能なのですが、これを作業ディレクトリの移動に使い、それゆえに意図せぬ挙動が起こってハマっているケースが散見されます。これはもちろん利用者側の問題ではなく、アナウンス不足であり、そのように誤解されやすい機能であるから故に、削除したいという意図です。

なんで別のshellプロセスが立ち上がるんだろうなーとは思ってたのですが、

ghq look は子プロセスで別のシェルプロセスを起動して、ディレクトリを移動したように見せかけています。どうしてもそのようにするしかない。

ということだったんですね :thinking:

蛇足2

ghq lookは使えなくなってしまいましたが、v1になって、

  • ghq listの高速化
  • ghq createコマンドの追加
  • ghq.<repo_root>.rootで、レポジトリ(user, organization)ごとのクローン先を変更可能

など、色々Improveがあるということなので、使っている人は更新したほうが良いと思われます :smile:

蛇足3

レポジトリがいっぱいあって移動が大変な方は、こちらにある通り、pecoや、fzfなどと連携させたほうが良いと思われます :thinking:

1
0
0

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
1
0