ども、ghq の方から来ました。各方面から PR いただいたおかげであれから機能がぐんぐん増えました。現在の最新バージョン 0.4 とリリース当初のバージョンを較べると:
- GitHub (Enterprise), Google Code だけでなく、Git もしくは Mercurial に対応しているリポジトリであれば clone できるようになりました。
- GitHub からの clone 時、
ghq get -p
で ssh プロトコルを使用します。 ghq get -shallow
で、shallow clone(履歴を辿らない clone)を行います。Git のみ。ghq get git@github.com…
みたいなこともできるようになりました。ghq import starred
時に GitHub の API トークンを指定できるようになりました。- Homebrew tap ができました: https://github.com/motemen/homebrew-ghq
ghq.<url>.vcs
設定値で、リモートの VCS を明示的に指定できるようになりました。こんな感じです:
[ghq "https://ghe.example.com/"] vcs = git
……などなど。ここで PR くださった方の名前はいちいち挙げませんが、ありがとうございます。おかげさまで大変たのしく過ごしております。
Tips
git-config には url.<url>.insteadOf
, url.<url>.pushInsteadOf
というキーがあり、これらを設定することで、それぞれ clone (fetch) や push 時に与えられた URL を書き換えてアクセスするよう Git に指示できます。
[url "git@github.com:motemen"] pushInsteadOf = https://github.com/motemen [url "git@ghe.example.com:"] insteadOf = https://ghe.example.com/
こういう設定にしていると、git clone https://github.com/motemen/pusheen-explorer
で clone したリポジトリからでもそのまま push できるようになりますし、git clone https://ghe.example.com/some/repo
したときには ssh プロトコルを使って clone するようになります。ghq に限りませんが、便利な設定です。
これから
今後入れたい大きな変更としては、ghq import を ghq 本体の外に出すというのと(ghq import pocket
は個人的にはスゲー便利だったんだけどたぶん誰も使ってない、標準入力から URL のリストを取って ghq get
できるようにすればいいかな?)、検討中ですが設定ファイルを gitconfig から分離するってのがあります。考え中のところなんで、ご意見ご要望ご PR などございましたら GitHub のほうまでよろしくお願いいたします。