ページ

ラベル ghq の投稿を表示しています。 すべての投稿を表示
ラベル ghq の投稿を表示しています。 すべての投稿を表示

2020/01/17

ghq rootが複数あると最後のrootにcloneされるようになった

|

最初のrootが使われると思っていたが、最後(2つめ)が使われた。
調べてみると以下の issue があり、v0.17から挙動が変更されていた。当初意図したものではなかったようだが、今後この仕様になるとのこと。
https://github.com/motemen/ghq/issues/239

README には最初の root に clone されると説明されていたので、修正の pull request を送ったところすぐに修正を取り込んでいただけた。

というわけで、README の説明の通り ghq.root が複数定義されている場合は最後のものが clone に使われるので、ghq list に Go の GOPATH のような固有のパスを含めたい場合は ghq get で使ってほしいパスを最後に書くと良い。

2020/01/11

ghqのroot配下ではVCS導入しないとghq listが遅くなる

|

今さらながら ghq を使うのをデフォルトにしようと考えてローカルにあるリポジトリをすべて ghq の root に移したところ、ghq list がだいぶ遅くなったように感じた。

以下が原因&解決策であった。
https://hirakiuc.hatenablog.com/entry/2017/05/06/205846

バージョン管理システムがないディレクトリが多数含まれていると遅くなってしまうらしい。

サンプルプロジェクトは ~/.ghq/github.com/ksoichiro に移動してあったため、そのディレクトリで以下を実行して git 管理としたところ改善した。(管理といっても git init しているだけ)

for i in $(ls -1); do if [ ! -f $i/.git/config ]; then echo "$i is not in vcs"; pushd $i > /dev/null; git init; popd > /dev/null; fi; done