rcmdnk's blog

Leder Games Root: The Underworld Expansion

ローカルにcloneしてきたGitのレポジトリの管理ツール ghq のデフォルトのrootディレクトリが~/.ghqから~/ghqに変更されたようです。

ghq

ghqはGoで作られたGitのローカルレポジトリ管理ツールで、 ghqコマンドを使ってレポジトリを管理することが出来ます。

ローカルにレポジトリをcloneする際にどこにcloneするか、とか 考えなくて済むようになるので常に複数のレポジトリで開発を行ってる場合には かなり便利な環境が作れます。

ghq関連だとpeco とかを用いたシェル関数とかを作っておくとさらに便利になる、というのは良く見る話です。

私の設定だとghq goとかでレポジトリ一覧を表示して選択した所に移動するような関数とかを作っています。

ここでは sentaku を使ってますがコマンドをそのままpecoにしても使えるかと思います。

rootディレクトリ

どこにcloneするか考えなくて良くなるとはいえ、実体は取ってくるのでどこかにあります。

以前のデフォルト設定だとこれは~/.ghqというドットから始まる隠しディレクトリになってました。 その下に**~/.ghq///** の様なディレクトリ構造で管理される様になっています。

これが、2020年1月1日にリリースされたv0.99.0から~/ghqという 見えるディレクトリに変更されました。

Releases · motemen/ghq

Default value for ghq.root · Issue #60 · motemen/ghq

[incompatible] make ~/ghq default root by Songmu · Pull Request #237 · motemen/ghq

元々の問題、となっているIssuesでnot convenientと言っていますが、 Windowsだから、とかいう理由ではなく、単に普段から手動でcdで移動して 作業するので隠しディレクトリだとやりにくい、ということでしょうか?

個人的には上に書いたような移動する関数を使っているので むしろ明には見えてない方が嬉しくて、多分最初に作ったときもそういう理由だったのでは、とは思いますが。

ただ、今のメンテナ−の人が正式リリース1.0.0に向けて変更したい、ということでアンケートを取って、 予想に反して~/srcが人気を得てしまいましたが結局予定していた~/ghqへの変更になった様です。

ghqはMacでもLinuxでもHomebrewで管理していて、 Homebrewのパッケージは毎日自動でアップデートするようにしているので、 年明けのある時、ghq goとして作業開始しようとしたらレポジトリが一個もなくてちょっと焦りました。

場合によっては$HOME以下が何らかの理由で壊れた、という可能性すらあるので。

特に年明けのタイミング、ということで何か変なことが起こったのか、とかボケてる間に自分がなにかしたのか、とか。

ただ、ls ~/.ghqしたら全部ちゃんとあって、なんでだと思って調べたら上の様な変更でした。

rootディレクトリの変更

もともと~/.ghqという隠しディレクトリでの管理が気に入っていたので、 それを引き続き使いたいと思います。

設定は~/.gitconfig

.gitconfig
1
2
[ghq]
  root = ~/.ghq

の様な設定をすればOK。

$ git config --global ghq.root ~/.ghq

でも設定できます。

こういったこともあるので、ghqに限らず、変更されたら困る様なデフォルト値がある場合には なるべく自分で明に設定しておいた方が良いですね。

Sponsored Links
Sponsored Links

« Suicaで地下鉄に間違って改札を通ってしまった際にすぐに出ればキャンセルされる(こともある) モバイルSuicaで新幹線の自由席に座った際には後で登録が必要? »

}